Конфигурация в NextJS
У каждого приложения NextJS в корне лежит
файл next.config.mjs. Это обычный
JavaScript-модуль: в нем описывают
постоянные правила сайта, которые
действуют для всех запросов одинаково
и не зависят от того, какой именно
адрес открыл пользователь.
Сюда не попадает логика «если пришел
такой-то запрос - сделай иное»:
конфиг задает опоры, на которых
фреймворк строит маршрутизацию,
ответы и сборку.
Часть настроек читается при запуске
сервера разработки и при сборке
продакшен-версии. Другие правила
фреймворк применяет на каждый входящий
запрос, но сами условия заданы заранее
в одном месте - вы не дублируете их
в компонентах и не размазываете
по отдельным страницам.
После изменения next.config.mjs
обычно нужно перезапустить dev-сервер,
чтобы новые значения подхватились.
В том же файле можно разрешить загрузку картинок с внешних хостов, настроить префикс для статики, включить экспериментальные возможности и многое другое. В этом разделе мы сосредоточимся на правилах маршрутов и HTTP: куда перенаправлять старые адреса, как подменять путь без смены строки в браузере и какие заголовки отдавать вместе с ответом.
Минимальный конфиг - пустой объект, который экспортируют по умолчанию. Такой файл уже валиден: фреймворк работает с настройками по умолчанию, а вы постепенно добавляете поля по мере необходимости:
let nextConfig = {};
export default nextConfig;
Имя переменной может быть любым,
но в документации и примерах
чаще всего встречается именно
nextConfig. Расширение .mjs
говорит Node.js, что модуль использует
import и export; для проектов
Next это обычный выбор рядом
с package.json.
Когда понадобится новое правило,
вы добавляете поле в объект
nextConfig и снова экспортируете
его по умолчанию - отдельный файл
на каждую настройку не заводят.