exportPathMap (Veraltet)
Diese Funktion ist exklusiv für
next export
und derzeit veraltet zugunsten vongetStaticPaths
mitpages
odergenerateStaticParams
mitapp
.
Beispiele
exportPathMap
ermöglicht es Ihnen, eine Zuordnung von Anfragepfaden zu Seitendestinationen während des Exports anzugeben. Pfade, die in exportPathMap
definiert sind, stehen auch bei Verwendung von next dev
zur Verfügung.
Beginnen wir mit einem Beispiel, um eine benutzerdefinierte exportPathMap
für eine App mit den folgenden Seiten zu erstellen:
pages/index.js
pages/about.js
pages/post.js
Öffnen Sie next.config.js
und fügen Sie die folgende exportPathMap
-Konfiguration hinzu:
Hinweis: Das Feld
query
inexportPathMap
kann nicht mit automatisch statisch optimierten Seiten odergetStaticProps
-Seiten verwendet werden, da diese zur Build-Zeit in HTML-Dateien gerendert werden und keine zusätzlichen Abfrageinformationen währendnext export
bereitgestellt werden können.
Die Seiten werden dann als HTML-Dateien exportiert, zum Beispiel wird /about
zu /about.html
.
exportPathMap
ist eine async
-Funktion, die 2 Argumente erhält: Der erste ist defaultPathMap
, die standardmäßige Karte, die von Next.js verwendet wird. Das zweite Argument ist ein Objekt mit:
dev
-true
, wennexportPathMap
in der Entwicklung aufgerufen wird.false
beim Ausführen vonnext export
. In der Entwicklung wirdexportPathMap
verwendet, um Routen zu definieren.dir
- Absoluter Pfad zum ProjektverzeichnisoutDir
- Absoluter Pfad zumout/
-Verzeichnis (konfigurierbar mit-o
). Wenndev
true
ist, wird der Wert vonoutDir
null
sein.distDir
- Absoluter Pfad zum.next/
-Verzeichnis (konfigurierbar mit derdistDir
-Konfiguration)buildId
- Die generierte Build-ID
Das zurückgegebene Objekt ist eine Zuordnung von Seiten, bei der der key
der pathname
und der value
ein Objekt ist, das die folgenden Felder akzeptiert:
page
:String
- die Seite innerhalb despages
-Verzeichnisses, die gerendert werden sollquery
:Object
- dasquery
-Objekt, das angetInitialProps
beim Vorrendern übergeben wird. Standardmäßig{}
Der exportierte
pathname
kann auch ein Dateiname sein (zum Beispiel/readme.md
), aber Sie müssen möglicherweise denContent-Type
-Header auftext/html
setzen, wenn Sie seinen Inhalt bedienen, wenn er sich von.html
unterscheidet.
Hinzufügen eines Trailing-Schrägstrichs
Es ist möglich, Next.js so zu konfigurieren, dass Seiten als index.html
-Dateien exportiert werden und ein Trailing-Schrägstrich erforderlich ist, /about
wird zu /about/index.html
und ist über /about/
erreichbar. Dies war das Standardverhalten vor Next.js 9.
Um auf den Trailing-Schrägstrich zurückzuschalten, öffnen Sie next.config.js
und aktivieren Sie die trailingSlash
-Konfiguration:
Anpassen des Ausgabeverzeichnisses
next export
verwendet standardmäßig out
als Ausgabeverzeichnis. Sie können dies mit dem -o
-Argument anpassen, wie folgt:
Warnung: Die Verwendung von
exportPathMap
ist veraltet und wird vongetStaticPaths
inpages
überschrieben. Wir empfehlen nicht, diese gemeinsam zu verwenden.