Static Assets
Next.js, görüntüler gibi statik dosyaları kök dizinde public
adlı bir klasör altında sunabilir. Daha sonra
public
içindeki dosyalara temel URL'den (/
) başlayarak kodunuz tarafından
başvurulabilir.
Örneğin, public
içine me.png
eklerseniz, aşağıdaki kod görüntüye erişecektir:
import Image from 'next/image'
export function Avatar() {
return <Image src="/me.png" alt="me" width="64" height="64" />
}
Caching
Next.js, public
klasöründeki değişmez varlıklara otomatik olarak önbelleğe alma başlıkları ekler. Uygulanan
varsayılan önbellekleme başlıkları şunlardır:
Cache-Control: public, max-age=31536000, immutable
Robots, Favicons, and others
Bu klasör ayrıca robots.txt
, favicon.ico
, Google Site Doğrulama ve diğer statik
dosyalar ( .html
dahil) için de kullanışlıdır. Ancak, pages/
dizinindeki bir dosyayla
aynı ada sahip statik bir dosyaya sahip olmadığınızdan emin olun, çünkü bu bir hataya neden olacaktır.
Daha fazlasını okuyun.
Bilmekte fayda var:
- Dizinin adı
public
olmalıdır. Bu ad değiştirilemez ve statik varlıkları sunmak için kullanılan tek dizindir.- Yalnızca derleme sırasında
public
dizininde bulunan varlıklar Next.js tarafından sunulacaktır. İstek zamanında eklenen dosyalar kullanılamayacaktır. Kalıcı dosya depolama için AWS S3gibi bir üçüncü taraf hizmeti kullanmanızı öneririz.