Spec-Zone.ru › Next.js

Turbopack

Turbopack (beta) — это инкрементальный бандлер, оптимизированный для JavaScript и TypeScript, написанный на Rust и интегрированный в Next.js.

Использование

Turbopack можно использовать в Next.js в каталогах pages и app для более быстрого локального разработки. Для активации Turbopack используйте флаг --turbo при запуске сервера разработки Next.js.

{
  "scripts": {
    "dev": "next dev --turbo",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  }
}

Поддерживаемые возможности

Turbopack в Next.js не требует конфигурации для большинства пользователей и может быть расширен для более сложных случаев использования. Для получения дополнительной информации о текущих поддерживаемых возможностях Turbopack, см. справочник по API.

Неподдерживаемые возможности

Turbopack в настоящее время поддерживает только next dev и не поддерживает next build. Мы в настоящее время работаем над поддержкой сборки по мере приближения к стабильности.

Эти возможности в настоящее время не поддерживаются:

  • webpack() конфигурация в next.config.js
    • Turbopack заменяет Webpack, это означает, что конфигурация webpack не поддерживается.
    • Для настройки Turbopack, см. документацию.
    • Поддерживается подмножество загрузчиков Webpack в Turbopack.
  • Babel (.babelrc)
    • Turbopack использует компилятор SWC для всей транспиляции и оптимизации. Это означает, что Babel не включен по умолчанию.
    • Если у вас есть файл .babelrc, возможно, он больше не нужен, так как Next.js включает в себя общие плагины Babel в виде преобразований SWC, которые можно включить. Вы можете узнать больше об этом в документации по компилятору.
    • Если вам все еще нужно использовать Babel после проверки того, что ваш конкретный случай использования не покрыт, вы можете использовать поддержку Turbopack для пользовательских загрузчиков webpack, чтобы включить babel-loader.
  • Автоматическое создание корневого макета в App Router.
    • Эта функция в настоящее время не поддерживается, так как она изменяет входные файлы, вместо этого будет отображаться ошибка, чтобы вы вручную добавили корневой макет в нужном месте.
  • @next/font (поддержка шрифтов legacy).
    • @next/font устарела в пользу next/font. next/font полностью поддерживается Turbopack.
  • new Worker('file', import.meta.url).
    • Мы планируем реализовать это в будущем.
  • Преобразования Relay
    • Мы планируем реализовать это в будущем.
  • experimental.nextScriptWorkers
    • Мы планируем реализовать это в будущем.
  • AMP.
    • В настоящее время мы не планируем поддерживать AMP в Next.js с Turbopack.
  • Yarn PnP
    • В настоящее время мы не планируем поддерживать Yarn PnP в Next.js с Turbopack.
  • experimental.urlImports
    • В настоящее время мы не планируем поддерживать experimental.urlImports в Next.js с Turbopack.

Генерация файлов трассировки

Файлы трассировки позволяют команде Next.js исследовать и улучшать показатели производительности и использование памяти. Чтобы сгенерировать файл трассировки, добавьте NEXT_TURBOPACK_TRACING=1 к команде next dev --turbo, это создаст файл .next/trace.log.

При сообщении об ошибках, связанных с производительностью и использованием памяти Turbopack, пожалуйста, включите файл трассировки в свой GitHub вопрос.

© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/architecture/turbopack

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API