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
).
/** @type {import('next').NextConfig} */
const nextConfig = {
/* options de configuration ici */
}
module.exports = nextConfig
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 du navigateur.
Si vous avez besoin de modules ECMAScript, vous pouvez utiliser next.config.mjs
:
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
/* options de configuration ici */
}
export default nextConfig
Vous pouvez aussi utiliser une fonction :
module.exports = (phase, { defaultConfig }) => {
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
/* options de configuration ici */
}
return nextConfig
}
Depuis Next.js 12.1.0, vous pouvez utiliser une fonction asynchrone :
module.exports = async (phase, { defaultConfig }) => {
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
/* options de configuration ici */
}
return nextConfig
}
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
:
const { PHASE_DEVELOPMENT_SERVER } = require('next/constants')
module.exports = (phase, { defaultConfig }) => {
if (phase === PHASE_DEVELOPMENT_SERVER) {
return {
/* options de configuration spécifiques au développement ici */
}
}
return {
/* options de configuration pour toutes les phases sauf le développement ici */
}
}
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. À la place, recherchez 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, Babel ou TypeScript.
Cette page documente toutes les options de configuration disponibles :