跳到主要内容位置

Turbopack 体验

Turbopack 是由 Vercel 公司(也就是维护 next.js 项目背后的公司)出品的打包工具,适用于 JavaScript 和 TypeScript 项目,底层使用 Rust 语言编写。 Turbopack 被 vercel 公司定义为 webpack 的后继,而不是替代品。

Turbopack 的速度

Turbopack 宣称在大型应用上,打包的速度比 Vite 快 10 倍,比 Webpack 快 700 倍。

Turbopack 的机制

而这种速度的实现机制是由 Rust 的高效率和 Turbopack 主打的增量打包引擎共同实现的。 Rust 是系统级的编程语言,以高效著称,对标 c/c++,但是更安全,不容易发生内存泄露。 Turbopack 主打的增量打包引擎,可以把已经打包好的代码进行缓存,后面只打包新加入的代码,这个缓存级别可以达到单个函数级。

与 Vite 的区别

与 Vite 不同的是,Turbopack 的打包过程都在开发时期,而 Vite 利用了浏览器原生的模块化,不会在开发时对依赖进行打包。 Vite 底层使用了 esbuild,Turbopack 底层使用了自己研发 Turbo 引擎,区别是 esbuild 本身不支持缓存和 HMR(热更替)。

创建 Next.js 项目

接下来我们体验一下 turbopack 的打包速度,因为 turbopack 现在还是 alpha 阶段,并没有独立出来,而是集成在 Next.js 项目中了,那我们按照官方的教程,来创建一个 Next.js 项目,看一下 Turbopack 到底有多快。运行 npx create-next-app --example with-turbopack 来创建示例项目:

npx create-next-app --example with-turbopack

它会要求输入项目的名字

体验启动的打包

之后,我们可以使用 yarn dev 来启动项目,可以感受一下它的启动速度:

yarn dev

这个示例项目几乎就是一个成品的 UI 库,可能就是专门为了演示 turbopack 对稍微大型一点的项目的打包速度,几乎可以拿来改改当成自己的 UI 库了,这可能就是公司财力雄厚的缘故。 我们也可以运行 yarn build 感受一下打包 build 的速度:

yarn build

小结

好了,这个就是 turbopack 的体验。如果有帮助请三连并关注,想学更多的开发知识,可以在评论区留言,感谢观看!

提示

一系列的课程让你成为高级前端工程师。课程覆盖工作中所有常用的知识点和背后的使用逻辑,示例全部都为工作项目简化而来,学完即可直接上手开发!

即使你已经是高级前端工程师,在课程里也可能会发现新的知识点和技巧,让你的工作更加轻松!

《React 完全指南》课程,包含 React、React Router 和 Redux 详细介绍,所有示例改编自真实工作代码。点击查看详情。

《Vue 3.x 全家桶完全指南与实战》课程,包括 Vue 3.x、TypeScript、Vue Router 4.x、Vuex 4.x 所有初级到高级的语法特性详解,让你完全胜任 Vue 前端开发的工作。点击查看详情。

《React即时通信UI实战》课程,利用 Storybook、Styled-components、React-Spring 打造属于自己的组件库。

《JavaScript 基础语法详解》本人所著图书,包含 JavaScript 全面的语法知识和新特性, 可在京东、当当、淘宝等各大电商购买