Vue团队开源了javascript打包工具-Rolldown

Vue团队近日宣布了开源项目Rolldown的正式发布,这是一款基于Rust语言开发的JavaScript打包工具。Rolldown被设计为Rollup的替代品,它提供了与Rollup兼容的应用程序接口和插件接口,但在功能范围上更接近于esbuild。

该工具的目标是成为Vite未来的主要打包工具。目前,Vite内部使用了两个打包工具:esbuild用于依赖预打包、TypeScript和JSX转换、目标降级以及代码压缩;而Rollup用于生产构建,并提供与其兼容的插件接口。然而,同时使用两个不同的打包工具会导致输出差异,可能在开发环境和生产环境之间产生行为不一致,并增加性能开销。

Vue团队希望通过Rolldown整合一个单一的打包工具,以提供原生级性能、内置转换来避免解析/序列化开销、与Rollup兼容的插件接口,以及适合大规模应用的高级构建输出控制。

Rolldown采用Rust编写,基于Oxc构建。Oxc是由字节跳动团队开发的JavaScript高性能工具集合,专注于构建JavaScript的基本编译器工具,如解析器、linter、格式化程序、转译器、压缩器和解析引擎。

团队计划在未来集成Oxc的转换器和压缩工具,并长期目标是让Vite用户能够以最小的成本过渡到内部使用Rolldown的Vite版本。同时,Rolldown还将作为独立的打包工具直接使用。