exportPathMap
Cette fonctionnalité est exclusive à
next export
et est actuellement dépréciée au profit degetStaticPaths
avecpages
ougenerateStaticParams
avecapp
.
exportPathMap
vous permet de spécifier un mappage des chemins de requête vers les destinations de page, à utiliser lors de l'export. Les chemins définis dans exportPathMap
seront également disponibles lors de l'utilisation de next dev
.
Commençons par un exemple pour créer un exportPathMap
personnalisé pour une application avec les pages suivantes :
pages/index.js
pages/about.js
pages/post.js
Ouvrez next.config.js
et ajoutez la configuration exportPathMap
suivante :
Bon à savoir : le champ
query
dansexportPathMap
ne peut pas être utilisé avec les pages automatiquement optimisées statiquement ou les pagesgetStaticProps
car elles sont rendues en fichiers HTML au moment de la construction et des informations de requête supplémentaires ne peuvent pas être fournies pendantnext export
.
Les pages seront ensuite exportées en tant que fichiers HTML, par exemple, /about
deviendra /about.html
.
exportPathMap
est une fonction async
qui reçoit 2 arguments : le premier est defaultPathMap
, qui est la carte par défaut utilisée par Next.js. Le second est un objet avec :
dev
-true
lorsqueexportPathMap
est appelé en développement.false
lors de l'exécution denext export
. En développement,exportPathMap
est utilisé pour définir les routes.dir
- Chemin absolu vers le répertoire du projetoutDir
- Chemin absolu vers le répertoireout/
(configurable avec-o
). Lorsquedev
esttrue
, la valeur deoutDir
seranull
.distDir
- Chemin absolu vers le répertoire.next/
(configurable avec la configurationdistDir
)buildId
- L'identifiant de construction généré
L'objet retourné est une carte de pages où la clé
est le pathname
et la valeur
est un objet qui accepte les champs suivants :
page
:String
- la page dans le répertoirepages
à rendrequery
:Object
- l'objetquery
passé àgetInitialProps
lors du prérendu. Par défaut{}
Le
pathname
exporté peut également être un nom de fichier (par exemple,/readme.md
), mais vous devrez peut-être définir l'en-têteContent-Type
surtext/html
lors de la diffusion de son contenu s'il est différent de.html
.
Ajout d'une barre oblique finale
Il est possible de configurer Next.js pour exporter les pages en tant que fichiers index.html
et exiger des barres obliques finales, /about
devient /about/index.html
et est accessible via /about/
. C'était le comportement par défaut avant Next.js 9.
Pour revenir à cette configuration et ajouter une barre oblique finale, ouvrez next.config.js
et activez la configuration trailingSlash
:
Personnalisation du répertoire de sortie
next export
utilisera out
comme répertoire de sortie par défaut, vous pouvez le personnaliser en utilisant l'argument -o
, comme ceci :
Avertissement : L'utilisation de
exportPathMap
est dépréciée et est remplacée pargetStaticPaths
danspages
. Nous ne recommandons pas de les utiliser ensemble.