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