Параметры next.config.js
Next.js можно настроить через файл next.config.js в корневой директории вашего проекта (например, с помощью package.json) с использованием экспорта по умолчанию.
// @ts-check
/** @type {import('next').NextConfig} */
const nextConfig = {
/* config options here */
}
module.exports = nextConfignext.config.js — это обычный модуль Node.js, а не файл JSON. Он используется на сервере и при сборке Next.js, и он не включается в сборку для браузера.
Если вам нужны модули ECMAScript, вы можете использовать next.config.mjs:
// @ts-check
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
/* config options here */
}
export default nextConfigТакже вы можете использовать функцию:
// @ts-check
export default (phase, { defaultConfig }) => {
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
/* config options here */
}
return nextConfig
}Начиная с Next.js 12.1.0, вы можете использовать асинхронную функцию:
// @ts-check
module.exports = async (phase, { defaultConfig }) => {
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
/* config options here */
}
return nextConfig
}phase — это текущий контекст, в котором загружается конфигурация. Вы можете посмотреть доступные фазы. Фазы можно импортировать из next/constants:
// @ts-check
const { PHASE_DEVELOPMENT_SERVER } = require('next/constants')
module.exports = (phase, { defaultConfig }) => {
if (phase === PHASE_DEVELOPMENT_SERVER) {
return {
/* development only config options here */
}
}
return {
/* config options for all phases except development here */
}
}
Закомментированные строки — это место, где вы можете поместить конфигурации, разрешенные next.config.js, которые определены в этом файле.
Однако, ни одна из конфигураций не является обязательной, и нет необходимости понимать, что делает каждая конфигурация. Вместо этого, ищите нужные вам функции для включения или изменения в этом разделе, и они покажут вам, что нужно сделать.
Избегайте использования новых функций JavaScript, недоступных в вашей целевой версии Node.js.
next.config.jsне будет обработана Webpack, Babel или TypeScript.
На этой странице документированы все доступные параметры конфигурации:
© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/app/api-reference/next-config-js