Vue 团队开源 Rolldown:基于 Rust 的 JavaScrip 打包工具

2024年 3月 10日 59.9k 0

Vue 团队已正式开源 Rolldown —— 基于 Rust 的 JavaScrip 打包工具。

Rolldown 是使用 Rust 开发的 Rollup 替代品,它提供与 Rollup 兼容的应用程序接口和插件接口,但在功能范围上更类似于 esbuild。

根据官方文档,Rolldown 旨在作为 Vite 未来使用的打包工具。目前 Vite 内部依赖两个打包工具:

  • esbuild 用于依赖预打包、TypeScript 和 JSX 转换、目标降级以及代码压缩
  • Rollup 用于生产构建使用,并支持一个与 Rollup 兼容的插件接口

然而,使用两个不同的打包工具存在明显弊端:

  • 两者之间的输出差异可能导致开发环境与生产环境行为的不一致
  • 用户代码在生产构建过程中会被多次解析、转换和序列化,从而增加了不必要的性能开销

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

这就是 Rolldown 诞生的背景。

未来规划

Rolldown 采用 Rust 编写,基于 Oxc 构建,目前正在使用其解析器。

Oxc 是 Rust 编写的 JavaScript 高性能工具集合,由字节跳动团队创建。该项目的重点在于构建 JavaScript 的基本编译器工具:解析器、linter、格式化程序、转译器、压缩器和解析引擎。

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

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论