Bu doküman ingilizce dokümana göre eski olabilir. Son güncellemeler için lütfen İngilizce Dokümanı. ziyaret edin
Görseller, CSS dosyaları ve JavaScript dosyaları gibi statik dosyaları sunmak için, Express’te bulunan express.static
ara katmanını kullanın.
Fonksiyonun yapısı şu şekildedir:
express.static(root, [options])
root
argümanı statik dosyaların bulunduğu ana dizine karşılık gelir.
options
argümanı hakkında detaylı bilgi için, express.static sayfasını ziyaret edin.
Örneğin, public
dizininde bulunan görselleri, CSS dosyalarını ve JavaScript dosyalarını sunmak için bunu kullanın:
app.use(express.static('public'))
Artık public
dizininde bulunan statik dosyaları görebilirsiniz:
http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Birden fazla statik dosya dizini kullanmak için express.static
fonksiyonun birden fazla kullanabilirsiniz.
app.use(express.static('public'))
app.use(express.static('files'))
Express statik dosyalara express.static
ile tanımladığınız sırayla bakar.
NOT: En iyi sonuç için, statik dosyaları sunarken performansı artırmak için [reverse proxy](/tr/advanced/ önbelleği kullanın.
express.static
ile sunulan dosyalar için sanal bir yol (statik dizinin aslında gerçekte bulunmadığı) yaratmak için, statik dizine aşağıdaki gibi bir path tanımlayın.
app.use('/static', express.static('public'))
Artık public
dizinindeki dosyalara /static
önekiyle ulaşabilirsiniz.
http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html
express.static
fonksiyonu ile tanımladığınız yollar node
processini çalıştırdığınız dizine bağlıdır. Bu yüzden, eğer express uygulamasını başka bir dizinden çalıştırıyorsanız, statik dizini tam adres olarak tanımlamanız daha güvenli olur.
const path = require('path')
app.use('/static', express.static(path.join(__dirname, 'public')))
serve-static
hakkında daha fazla bilgi almak için, serve-static sayfasına göz atın.