Turbopack介绍

Vercel 发布 Turbopack,目前处于 alpha 阶段。Turbopack 由 Webpack 作者 Tobias Koppers 亲自操刀,用 Rust 编写,作者的愿景是替代 Webpack 95% 的功能和扩展性。

其特性如下:

  • 吸取 Webpack 十年来的经验教训,结合 Turborepo 和 Google 的 Bazel 在增量计算方面的创新,创建了一个准备支持未来几十年计算的架构;
  • 官方声称热更新比 Vite 快 10 倍,比 Webpack 快 700 倍;
  • 内置增量计算引擎,可以达到单个函数级别的缓存;
  • 基于请求级别的按需编译;
  • 生态方面支持 JavaScript、TypeScript、CSS、CSS Modules、插件系统会计划支持 SCSS、LESS、Babel 等,流行的前端框架 Svelte、React、Vue.js 等。

尤雨溪近日也亲自对 Vite 和 Turbopack 的热更新性能进行对比,并公开 代码仓库,得出的结论是热更新性能差不多,远远没有上面声称的 10 倍差距。

营销归营销,一切还是等 Turbopack 的插件架构造出来再下定论吧,一个好的架构远远比用什么语言更重要,而且还要考虑到对已有生态系统的支持,前方的路还很长。

Turbopack 中 JavaScript 和 TypeScript 的打包是基于 SWC,随着 Turbopack 的发布,SWC 的作者 kdy1 宣布将他 新的 TypeScript 类型检查器开源,并且最终决定使用 Rust 编写。这个故事有点长,不清楚故事线的同学可以去链接里读。

这个新的 TypeScript 类型检查器叫 stc,要不要改个名字,叫 Turbocheck?🤣

坐等 Turbopack 官方公开下面数据的测试代码。