exportPathMap (Deprecated)
Bu özellik
next export'a özeldir ve şu andapagesilegetStaticPathsveyaappilegenerateStaticParamslehine 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:
pages/index.jspages/about.jspages/post.js
next.config.js adresini açın ve aşağıdaki exportPathMap yapılandırmasını ekleyin:
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:
exportPathMapadresindekiqueryalanı, otomatik olarak statik olarak optimize edilen sayf alarda veyagetStaticPropssayfalarında kullanılamaz, çünkü bunlar derleme zamanında HTML dosyalarına dönüştürülür venext exportsı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:
dev- GeliştirmedeexportPathMapçağrılırkentrue.next exportçalıştırılırkenfalse. GeliştirmedeexportPathMaprotaları tanımlamak için kullanılır.dir- Proje dizininin mutlak yoluoutDir-out/dizininin mutlak yolu(-oile yapılandırılabilir).dev,trueolduğundaoutDirdeğerinullolacaktır.distDir-.next/dizininin mutlak yolu (şu şekilde yapılandırılabilirdistDirconfig)buildId- Oluşturulan yapı kimliği
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:
page:String- işlenecekpagesdizini içindeki sayfaquery:Object- ön oluşturma sırasındagetInitialPropsadresine aktarılanquerynesnesi. Varsayılan değer{}
Dışa aktarılan
pathnamebir dosya adı da olabilir (örneğin,/readme.md), ancak.htmladresinden farklıysa, içeriğini sunarkenContent-Typebaşlığınıtext/htmlolarak 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:
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:
next export -o outdirUyarı:
exportPathMapkullanımı kullanımdan kaldırılmıştır vepagesiçindegetStaticPathstarafından geçersiz kılınmıştır. İkisini birlikte kullanmanızı önermiyoruz.