Babel

Примеры

Next.js включает пресет next/babel для вашего приложения, который содержит всё необходимое для компиляции React-приложений и серверного кода. Но если вы хотите расширить стандартные конфигурации Babel, это также возможно.

Добавление пресетов и плагинов

Для начала вам нужно создать файл .babelrc (или babel.config.js) в корневой директории проекта. Если такой файл будет найден, он будет считаться источником истины, поэтому в нём необходимо определить то, что требуется Next.js, а именно пресет next/babel.

Вот пример файла .babelrc:

.babelrc
{
  "presets": ["next/babel"],
  "plugins": []
}

Вы можете посмотреть этот файл, чтобы узнать о пресетах, включённых в next/babel.

Чтобы добавить пресеты/плагины без их настройки, сделайте это следующим образом:

.babelrc
{
  "presets": ["next/babel"],
  "plugins": ["@babel/plugin-proposal-do-expressions"]
}

Настройка пресетов и плагинов

Чтобы добавить пресеты/плагины с пользовательской конфигурацией, сделайте это через пресет next/babel:

.babelrc
{
  "presets": [
    [
      "next/babel",
      {
        "preset-env": {},
        "transform-runtime": {},
        "styled-jsx": {},
        "class-properties": {}
      }
    ]
  ],
  "plugins": []
}

Чтобы узнать больше о доступных опциях для каждой конфигурации, посетите документацию Babel.

Полезно знать:

  • Next.js использует текущую версию Node.js для серверной компиляции.
  • Опция modules в "preset-env" должна оставаться false, иначе код-сплиттинг webpack будет отключён.