Next.js Static Export (Statik Çıktı) İpuçları ve Sınırlar
Next.js, sunucu tarafında çalışan dinamik bir Node.js uygulaması olarak tasarlanmıştır. Ancak bazı projelerde (örneğin Polimelo gibi portfolyo veya basit uygulamalarda) sunucu maliyetlerini sıfırlamak ve maksimum hıza ulaşmak için sitenizi statik HTML/CSS/JS dosyaları olarak dışa aktarmak istersiniz. Bunun için next.config.ts dosyasına output: 'export' ekleriz.
Statik Export ile Neler Yapılamaz?
Sunucu tabanlı özellikler (Next.js Middleware, dinamik API rotaları (API Routes), sunucu bileşenlerinde runtime veri çekme vb.) statik export modunda çalışmaz. Her sayfa derleme aşamasında (build-time) statik dosyalara dönüştürülmek zorundadır. Bu yüzden dinamik rotalar için mutlaka generateStaticParams() fonksiyonu ile olası tüm parametreleri tanımlamanız gerekir.
Arama Parametreleri (Search Params) ve Çözümler
Derleme anında URL'deki query parametrelerini (örneğin ?ref=google) okuyamazsınız. Bu gibi durumları çözmek için query parametrelerini sayfa yüklendikten sonra istemci tarafında (Client Component - useSearchParams) yakalamak ve arayüzü ona göre güncellemek gerekir.