Параметры 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/pages/api-reference/next-config-js