exportPathMap (Deprecated)
Bu özellik
next export
'a özeldir ve şu andapages
ilegetStaticPaths
veyaapp
ilegenerateStaticParams
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:
pages/index.js
pages/about.js
pages/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:
exportPathMap
adresindekiquery
alanı, otomatik olarak statik olarak optimize edilen sayf alarda veyagetStaticProps
sayfalarında kullanılamaz, çünkü bunlar derleme zamanında HTML dosyalarına dönüştürülür venext 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:
dev
- GeliştirmedeexportPathMap
çağrılırkentrue
.next export
çalıştırılırkenfalse
. GeliştirmedeexportPathMap
rotaları tanımlamak için kullanılır.dir
- Proje dizininin mutlak yoluoutDir
-out/
dizininin mutlak yolu(-o
ile yapılandırılabilir).dev
,true
olduğundaoutDir
değerinull
olacaktır.distDir
-.next/
dizininin mutlak yolu (şu şekilde yapılandırılabilirdistDir
config)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şlenecekpages
dizini içindeki sayfaquery
:Object
- ön oluşturma sırasındagetInitialProps
adresine aktarılanquery
nesnesi. Varsayılan değer{}
Dışa aktarılan
pathname
bir dosya adı da olabilir (örneğin,/readme.md
), ancak.html
adresinden farklıysa, içeriğini sunarkenContent-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:
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 outdir
Uyarı:
exportPathMap
kullanımı kullanımdan kaldırılmıştır vepages
içindegetStaticPaths
tarafından geçersiz kılınmıştır. İkisini birlikte kullanmanızı önermiyoruz.