Options de next.config.js
Next.js peut être configuré via un fichier next.config.js
à la racine de votre répertoire de projet (par exemple, à côté de package.json
) avec un export par défaut.
Modules ECMAScript
next.config.js
est un module Node.js standard, pas un fichier JSON. Il est utilisé par le serveur Next.js et les phases de build, et n'est pas inclus dans le build navigateur.
Si vous avez besoin de modules ECMAScript, vous pouvez utiliser next.config.mjs
:
Bon à savoir : les extensions
.cjs
,.cts
ou.mts
pournext.config
ne sont pas supportées actuellement.
Configuration sous forme de fonction
Vous pouvez également utiliser une fonction :
Configuration asynchrone
Depuis Next.js 12.1.0, vous pouvez utiliser une fonction asynchrone :
Phase
phase
est le contexte actuel dans lequel la configuration est chargée. Vous pouvez voir les phases disponibles. Les phases peuvent être importées depuis next/constants
:
TypeScript
Si vous utilisez TypeScript dans votre projet, vous pouvez utiliser next.config.ts
pour utiliser TypeScript dans votre configuration :
Les lignes commentées sont l'endroit où vous pouvez placer les configurations autorisées par next.config.js
, qui sont définies dans ce fichier.
Cependant, aucune de ces configurations n'est obligatoire, et il n'est pas nécessaire de comprendre ce que fait chaque configuration. Cherchez plutôt les fonctionnalités que vous souhaitez activer ou modifier dans cette section et elles vous indiqueront quoi faire.
Évitez d'utiliser de nouvelles fonctionnalités JavaScript non disponibles dans votre version cible de Node.js.
next.config.js
ne sera pas parsé par Webpack ou Babel.
Cette page documente toutes les options de configuration disponibles :
Tests unitaires (expérimental)
Depuis Next.js 15.1, le package next/experimental/testing/server
contient des utilitaires pour aider à tester unitairement les fichiers next.config.js
.
La fonction unstable_getResponseFromNextConfig
exécute les fonctions headers
, redirects
et rewrites
de next.config.js
avec les informations de requête fournies et renvoie un NextResponse
avec les résultats du routage.
La réponse de
unstable_getResponseFromNextConfig
ne prend en compte que les champs denext.config.js
et ne considère pas le middleware ou les routes du système de fichiers, donc le résultat en production peut différer du test unitaire.