Next.js ile Statik İçerik Sunmak ve Statik İçeriği Önbelleğe Almak

23.Mar.2024

Merhaba değerli okuyucular,

Next.js, modern web uygulamaları geliştirmek için popüler bir çerçevedir. Ancak, Next.js aynı zamanda statik siteler oluşturmak için de güçlü bir araçtır. Bu makalede, Next.js kullanarak nasıl statik bir site oluşturulacağını ve statik içeriğin nasıl önbelleğe alınacağını öğreneceğiz.


1) Next.js Projesi Oluştur

İlk adım olarak, Next.js projesi oluşturmanız gerekiyor. Bu işlem için terminali açın ve aşağıdaki komutu çalıştırın:

npx create-next-app statik-site

cd statik-site

Bu komut, statik-site adında bir Next.js projesi oluşturacaktır.


2) Sayfa Oluştur

Next.js'de sayfalar, pages klasörü içinde oluşturulur. Örneğin, index.js dosyası my-static-site/pages klasörü içinde oluşturularak ana sayfa oluşturulabilir. Diğer sayfalar da benzer şekilde oluşturulabilir.


3) Statik İçerik Ekle

Statik içerik, public klasörü içinde yer alır. Örneğin, public/images klasörüne görseller ekleyebilirsiniz. Bu görseller daha sonra site içinde kullanılabilir.


4) Next.js'nin "Static Export" Özelliğini Kullan

Next.js'in sağladığı next export komutu sayesinde projeyi bir statik site olarak dışa aktarabilirsiniz. Terminalde projenizin bulunduğu dizine geçerek aşağıdaki komutu çalıştırın:

npm run build && npm run export

Bu komutlar, projenizi derleyecek ve ardından statik dosyaları dışa aktaracaktır.


5) Statik İçeriği Önbelleğe Al

Statik içeriği önbelleğe almak, site performansını artırır. Bunun için Next.js'in next.config.js dosyasını düzenlemeniz gerekmektedir. Örneğin, aşağıdaki kod örneğinde statik içeriği bir saat boyunca önbelleğe alıyoruz:

module.exports = {
  async rewrites() {
    return [
      {
        source: '/:path*',
        destination: '/:path*',
      },
    ]
  },
  async headers() {
    return [
      {
        source: '/(.*)',
        headers: [
          {
            key: 'Cache-Control',
            value: 'public, max-age=3600, must-revalidate',
          },
        ],
      },
    ]
  },
}

Bu kod, tüm sayfaların ve içeriğin bir saat boyunca önbelleğe alınmasını sağlar.


Bu makalede, Next.js kullanarak nasıl bir statik site oluşturulacağını ve statik içeriğin nasıl önbelleğe alınacağını öğrendik. Artık bu bilgileri kullanarak performansı yüksek ve kullanıcı deneyimi odaklı statik siteler oluşturabilirsiniz.