file
Vite利用原生ES模块导入来提供快速的冷启动和即时热更新。相比之下,Webpack是一个模块打包器,它通过配置文件来处理模块依赖,并且在构建过程中进行打包。
在生成模式下,vite使用的构建工具是Rollup。这是因为Vite目前的插件API与使用 esbuild作为打包器并不兼容。尽管 esbuild 速度更快,但 Vite 采用了 Rollup 灵活的插件 API 和基础建设,这对 Vite 在生态中的成功起到了重要作用。目前来看,我们认为 Rollup 提供了更好的性能与灵活性方面的权衡。
最近前端构建工具很多团队都在使用Rust进行重写,webpack团队率先落实这个技术实现了Turbopack,后来字节跳动团队也推出了Rspack。
这些打包工具每次宣传都会那vite来做比较,而且还是React生态技术栈,作为Vue创始人尤雨溪(Evan You)怎么能坐得住? “连夜”把类Rollup的Rust版本进行反击。
Rolldown
Rolldown是一个用Rust编写的JavaScript打包工具,旨在成为Vite的未来打包器。它提供与Rollup兼容的API和插件接口,但在范围上更像esbuild。目前,Rolldown仍在积极开发中,还不适用于生产环境。这个项目受到了Rollup、esbuild、napi-rs、oxc和@parcel/sourcemap等项目的启发和支持。 Rolldown项目采用MIT许可证。
在捆绑纯 esm 模块时,Rolldown 比 esbuild 快 1.4~2 倍。但这次大家对性能的关注度不太高。反而是 Rust 占了很大一部分的注意力。
目前Rolldown的成员有四位。
file
领取专属 10元无门槛券
私享最新 技术干货