turbo (Экспериментальная функция)

Предупреждение: Эти функции являются экспериментальными и будут работать только с next --turbo.

Загрузчики (loaders) webpack

В настоящее время Turbopack поддерживает подмножество API загрузчиков webpack, позволяя использовать некоторые загрузчики webpack для преобразования кода в Turbopack.

Для настройки загрузчиков добавьте названия установленных загрузчиков и любые параметры в next.config.js, сопоставляя расширения файлов со списком загрузчиков:

next.config.js
module.exports = {
  experimental: {
    turbo: {
      rules: {
        // Формат с параметрами
        '*.md': [
          {
            loader: '@mdx-js/loader',
            options: {
              format: 'md',
            },
          },
        ],
        // Формат без параметров
        '*.mdx': ['@mdx-js/loader'],
      },
    },
  },
}

Затем, используя приведенную выше конфигурацию, вы можете использовать преобразованный код в своем приложении:

import MyDoc from './my-doc.mdx'

export default function Home() {
  return <MyDoc />
}

Псевдонимы для разрешения модулей (Resolve Alias)

Через next.config.js можно настроить Turbopack для изменения разрешения модулей с помощью псевдонимов, аналогично конфигурации resolve.alias в webpack.

Для настройки псевдонимов сопоставьте импортируемые шаблоны с их новыми назначениями в next.config.js:

next.config.js
module.exports = {
  experimental: {
    turbo: {
      resolveAlias: {
        underscore: 'lodash',
        mocha: { browser: 'mocha/browser-entry.js' },
      },
    },
  },
}

Это создаст псевдоним для импорта пакета underscore на пакет lodash. Другими словами, import underscore from 'underscore' будет загружать модуль lodash вместо underscore.

Turbopack также поддерживает условные псевдонимы через это поле, аналогично условным экспортам в Node.js. На данный момент поддерживается только условие browser. В приведенном выше случае импорты модуля mocha будут заменены на mocha/browser-entry.js, когда Turbopack работает в браузерных средах.

Для получения дополнительной информации и руководства по миграции вашего приложения с webpack на Turbopack см. документацию Turbopack о совместимости с webpack.