前端又有新东西?比 Webpack 快 700 倍的 Turbopack 来了!
Posted CSDN资讯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端又有新东西?比 Webpack 快 700 倍的 Turbopack 来了!相关的知识,希望对你有一定的参考价值。
整理 | 朱珂欣
出品 | CSDN(ID:CSDNnews)
很多人对 Next.js 并不陌生,Vercel 作为 Next.js 背后的公司,一直以来通过提供云平台来优化前端团队的整个开发和部署体验。
10 月 26 日,Vercel 公司宣布了最新的开源项目:Turbopack 。
早前, Webpack 的创建者 Tobias Koppers 就表示:“ Webpack 被下载超过 30 亿次,它已成为 Web 构建不可或缺的一部分。不过现在,需要构建 Web 下一代打包工具了。”
随后,Turbopack 出现,成为基于 Rust 编写的 Web 下一代打包工具。
(图源:Twitter 官网截图)
前端新东西,比 Webpack 快 700倍
其实,Turbopack 或许是 Vercel 公司早前一些工作的延续。此前,他们用基于 Rust 的 SWC 替换基于 javascript 的转译器 Babel,速度提升了 17 倍。他们还替换了 Terser,压缩的速度提高了 6 倍,从而减少了加载时间和带宽的使用。
据 Vercel 首席执行官 Guillermo Rauch 介绍,与 Webpack 一样,Turbopack 也是开源的。但 Turbopack 建立在新的增量架构之上,因此可提供最快的开发体验。
同时,Vercel 公司声称“ Turbopack 的更新速度比 Vite 快10倍,比 Webpack 快 700 倍。对于大型应用程序,差异甚至更大,更新速度比 Vite 快 20 倍。尤其是对于具有 3000 个模块的应用程序, Vite 需要 11.4 秒 ,Turbopack 仅需 1.8 秒即可启动。”
那么,为什么 Turbopack 可以这么快?
主要原因还是 Turbopack 的架构借鉴了 Turborepo 和 Google 的 Bazel 等工具的经验教训。Turbopack 建立在 Turbo 之上 —— 一个基于 Rust 的开源、增量的记忆框架。Turbo 可以缓存程序中任何函数的结果。当程序再次运行时,函数不会重新运行,除非函数的参数发生改变。这种精细的体系结构使程序能够在函数级别跳过大量工作。
Turbopack 的未来
关于 Turbopack 的未来,Vercel 公司也抱有很大的期待,致力于帮助更多用户带来良好的体验,它表示:“Turbopack 将用于 Next.js 13开发服务器。它将为闪电般的 HMR 提供支持,它将原生支持 React Server Components, TypeScript ,JSX ,CSS 等。”
最终,Turbopack 还会为 Next.js 的生产环境提供支持。此外,Webpack 用户还可以期望未来可以增量迁移到 Rust-based 的 Turbopack 特性 。
(图源:Vercel 官网)
网友:我对这个决定感到非常满意!
Turbopack 出现后,在 Hacker News 上引发热议,还有许多网友对比将 Webpack 和 Turbopack 做出了对比:
-
“经过多年为各种项目配置 Webpack,我厌倦了创建和维护数百行文件,我想要一些有用的东西”;
-
“我对这个决定感到非常满意”;
-
“ Webpack 给我带来巨大挫败感,我总会得到相对复杂的配置”;
-
“ 目前看来,我觉得 Turbopack 还需要做得更好”。
任何事物从诞生到沉淀的路上,都夹杂着肯定与质疑的声音,未来 Turbopack 会给开发人员带来怎样的体验呢?还需要把一切交给时间……
参考链接:
https://vercel.com/blog/turbopack
https://turbo.build/blog/turbopack-benchmarks
https://news.ycombinator.com/item?id=33333695
https://devclass.com/2022/10/25/webpack-founder-debuts-rust-based-turbopack-that-is-700x-faster/
以上是关于前端又有新东西?比 Webpack 快 700 倍的 Turbopack 来了!的主要内容,如果未能解决你的问题,请参考以下文章
中国天眼新发现登Nature封面:恒星形成速度比我们想象快10倍
中国天眼新发现登Nature封面:恒星形成速度比我们想象快10倍
伯克利开源 Confluo:吞吐量比 Kafka 高 4 到 10 倍!