内容提要
Vercel正在开发名为Turbopack的JavaScript/TypeScript打包工具,已将其代码库移入Next.js存储库,并计划将其移至单独的存储库。Turbopack已通过Next.js开发测试套件,并可编译300个npm包。Vercel团队每天都在使用Turbopack开发vercel.com,它比webpack更快。
延伸解读
迁移背景与原因
Turbopack 代码库将从 vercel/turbo 移至 Next.js 仓库,主要因为 Next.js 是 Turbopack 当前的主要用户,内部变更更频繁地影响 Next.js。跨仓库同步依赖和协调变更耗时,且团队开发的临时工具脆弱,增加了新成员上手难度。迁移后,将使用 Cargo 工作区统一管理,并能在同一分支中回溯 Next.js 和 Turbopack 的热修复,提升迭代效率。
当前进展与可用性
Turbopack 已通过 Next.js 开发测试套件,所有 Next.js 示例均可运行,并验证了前 300 个 npm 包可编译。Vercel 团队每日使用 Turbopack 开发 vercel.com,初始服务器启动和代码更新均比 webpack 更快。开发者可通过 next dev --turbo 体验,建议使用 Canary 渠道获取最新修复。生产构建已开始工作,但尚未完成。
未来规划与影响
未来几周,Turbopack 源代码将移出 vercel/turbo,使用 git-subtree 和 git-filter-branch 保留提交历史。Turborepo 项目保持不变,仍在原仓库。Turbopack 核心保持框架无关,未来将支持其他框架和独立打包器,届时会移至独立仓库。当前优先改进 Next.js 开发体验,稳定后先作为可选功能,破坏性变更将随 Next.js 主版本发布,并继续支持 webpack。
Q&A
Turbopack是什么?
Turbopack是Vercel开发的一款JavaScript/TypeScript打包工具。
Turbopack与webpack相比有什么优势?
Turbopack比webpack更快,尤其在初始服务器启动和代码更新方面。
如何使用Turbopack加速Next.js的开发?
可以通过运行命令next dev --turbo来加速Next.js的开发工作流程。
Turbopack的源代码将如何迁移?
Turbopack的源代码将从vercel/turbo存储库迁移到vercel/next.js单一代码库中。
Turbopack支持哪些npm包?
Turbopack已验证可以编译300个在Next.js应用中使用的npm包。
Turbopack的未来计划是什么?
未来将继续改进Turbopack,以提高Web应用程序的开发速度,并计划支持其他框架和独立打包器。