用途:Turbopack 是使用 Rust 编写的增量打包器,内置于 Next.js,目标是加快开发构建。资料称在 Next.js 16+ 中为默认打包器,next dev 与 next build 默认使用 Turbopack;如需继续使用 webpack,可执行 next dev --webpack 或 next build --webpack。
主要能力:内置支持 TypeScript/TSX、JavaScript/JSX、CSS/CSS Modules、Sass/SCSS、PostCSS、next/image、next/font、Server Components、App Router、Pages Router 与 Middleware。其配置可在 next.config.ts 的 turbopack 字段中设置自定义 loader 规则(rules)、路径别名与包替换(resolveAlias)、文件扩展名顺序(resolveExtensions)以及模块 ID 策略(moduleIdStrategy)。资料列出的兼容 loader 包括 @svgr/webpack、graphql-tag/loader、yaml-loader、raw-loader、@mdx-js/loader、babel-loader、sass-loader,并给出 SVG、GraphQL、YAML/TOML、Markdown 等示例配置。
使用方式:Next.js 16+ 可直接使用 next dev 和 next build;Next.js 15 的旧配置放在 experimental.turbo 下。迁移时需注意 webpack 插件不受支持,需寻找兼容替代或保留 webpack。故障排查包括不支持的 loader 时回退 webpack、用 NODE_OPTIONS="--max-old-space-size=8192" 调整内存、用 rm -rf .next 清理缓存。对于复杂 webpack 配置,资料提到 Rspack 作为替代方案。
限制与未提供:资料称 webpack 插件不被支持;部分 loader 兼容性需查阅所附参考文件。其余如具体收费、许可等信息暂未提供。