exportPathMap (Deprecated)

Bu özellik next export 'a özeldir ve şu anda pages ile getStaticPaths veya app ile generateStaticParams lehine kullanımdan kaldırılmıştır.

Examples

exportPathMap dışa aktarma sırasında kullanılmak üzere istek yollarının sayfa hedeflerine eşlenmesini belirtmenize olanak tanır. exportPathMap adresinde tanımlanan yollar, aşağıdakiler kullanılırken de kullanılabilir next dev.

Aşağıdaki sayfalara sahip bir uygulama için özel bir exportPathMap oluşturmak üzere bir örnekle başlayalım:

next.config.js adresini açın ve aşağıdaki exportPathMap yapılandırmasını ekleyin:

next.config.js
module.exports = {
  exportPathMap: async function (
    defaultPathMap,
    { dev, dir, outDir, distDir, buildId }
  ) {
    return {
      '/': { page: '/' },
      '/about': { page: '/about' },
      '/p/hello-nextjs': { page: '/post', query: { title: 'hello-nextjs' } },
      '/p/learn-nextjs': { page: '/post', query: { title: 'learn-nextjs' } },
      '/p/deploy-nextjs': { page: '/post', query: { title: 'deploy-nextjs' } },
    }
  },
}

Bilmenizde fayda var: exportPathMap adresindeki query alanı, otomatik olarak statik olarak optimize edilen sayf alarda veya getStaticProps sayfalarında kullanılamaz, çünkü bunlar derleme zamanında HTML dosyalarına dönüştürülür ve next export sırasında ek sorgu bilgileri sağlanamaz.

Sayfalar daha sonra HTML dosyaları olarak dışa aktarılacaktır, örneğin, /about /about.html haline gelecektir.

exportPathMap 2 argüman alan bir async fonksiyonudur: ilki Next.js tarafından kullanılan varsayılan harita olan defaultPathMap'dur. İkinci bağımsız değişken ise bir nesnedir:

Döndürülen nesne, key 'un pathname ve value 'un aşağıdaki alanları kabul eden bir nesne olduğu bir sayfa haritasıdır:

Dışa aktarılan pathname bir dosya adı da olabilir (örneğin, /readme.md), ancak .html adresinden farklıysa, içeriğini sunarken Content-Type başlığını text/html olarak ayarlamanız gerekebilir.

Adding a trailing slash

Next.js'yi sayfaları index.html dosyaları olarak dışa aktaracak ve sondaki eğik çizgileri gerektirecek şekilde yapılandırmak mümkündür, /about /about/index.html olur ve /about/ üzerinden yönlendirilebilir. Bu, Next.js 9'dan önceki varsayılan davranıştı.

Geri dönmek ve sondaki eğik çizgiyi eklemek için next.config.js adresini açın ve trailingSlash yapılandırmasını etkinleştirin:

next.config.js
module.exports = {
  trailingSlash: true,
}

Customizing the output directory

next export varsayılan çıktı dizini olarak out kullanacaktır, bunu -o argümanını kullanarak aşağıdaki gibi özelleştirebilirsiniz:

Terminal
next export -o outdir

Uyarı: exportPathMap kullanımı kullanımdan kaldırılmıştır ve pages içinde getStaticPaths tarafından geçersiz kılınmıştır. İkisini birlikte kullanmanızı önermiyoruz.