exportPathMap
Diese Funktion ist exklusiv für
next export
und derzeit veraltet zugunsten vongetStaticPaths
mitpages
odergenerateStaticParams
mitapp
.
exportPathMap
ermöglicht es Ihnen, eine Zuordnung von Anfragepfaden zu Zielseiten anzugeben, die während des Exports verwendet wird. Pfade, die in exportPathMap
definiert sind, sind auch verfügbar, wenn next dev
verwendet wird.
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:
Wissenswert: Das
query
-Feld inexportPathMap
kann nicht mit automatisch statisch optimierten Seiten odergetStaticProps
-Seiten verwendet werden, da diese zum Build-Zeitpunkt in HTML-Dateien gerendert werden und zusätzliche Abfrageinformationen währendnext export
nicht 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: Das erste ist defaultPathMap
, die standardmäßige Zuordnung, 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, ist der Wert vonoutDir
null
.distDir
- Absoluter Pfad zum.next/
-Verzeichnis (konfigurierbar mit derdistDir
-Konfiguration)buildId
- Die generierte Build-ID
Das zurückgegebene Objekt ist eine Zuordnung von Seiten, wobei der key
der pathname
ist und der value
ein Objekt, das die folgenden Felder akzeptiert:
page
:String
- die Seite impages
-Verzeichnis, die gerendert werden sollquery
:Object
- dasquery
-Objekt, das angetInitialProps
übergeben wird, wenn vorgerendert 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 der Inhalt anders als.html
ist.
Hinzufügen eines nachgestellten Schrägstrichs
Es ist möglich, Next.js so zu konfigurieren, dass Seiten als index.html
-Dateien exportiert werden und nachgestellte Schrägstriche erfordern, /about
wird zu /about/index.html
und ist über /about/
erreichbar. Dies war das Standardverhalten vor Next.js 9.
Um dies wieder zu aktivieren und einen nachgestellten Schrägstrich hinzuzufügen, ö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 durchgetStaticPaths
inpages
überschrieben. Wir empfehlen nicht, sie zusammen zu verwenden.