
Rolldown是一个用 Rust 编写的 JavaScript/TypeScript 打包器,目前由Vite等项目的维护者 VoidZero 开发。Rolldown 为现有的打包器提供了一个高性能的替代方案,并且与Rollup插件生态系统完全兼容。Rolldown 被设计为现代构建工具的下一个合乎逻辑的步骤,它承诺在保留熟悉的插件接口的同时显著改善构建时间。它目前处于测试阶段。
Rolldown 主要是作为 Vite 中的底层打包器而开发的,以取代现有的 Vite 对esbuild和 Rollup 的依赖。它也包含在最近宣布的Vite+项目中。Rollup 和 Rolldown 之间的一个关键区别是 Rolldown 是用Rust编写的,因此它可以利用本地多线程执行,开销比基于 javascript 的工具更少。据项目背后的团队称,Rolldown 可以比 Rollup 快 10-30 倍,VoidZero 创始人在 X 上发表的一篇文章称,在他们的测试中,它也以很大的优势击败了 esbuild。
Rolldown 的 API 故意与 Rollup 的插件系统兼容,这意味着大多数现有的 Rollup 和 Vite 插件只做最小的更改就可以继续工作。不过,它确实引入了 Rollup 范围之外的特性,比如内置的CJS支持,以及高级块分割、CSS捆绑和最小化等实验性特性。在这里可以找到更多关于 Rolldown 特性的信息。
Reddit 上的一名开发人员发布了他们基于前端项目的真实性能指标。通过将 Rollup 依赖转换为 Rolldown,他们最初看到了 1.8 倍的性能提升,当另一个用户询问使用 Rolldown 提供的本地插件时,性能差异跃升至 5 倍。这个性能指标低于包作者引用的 10-30 倍的速度,然而,值得注意的是,Reddit 上的帖子是从 2025 年 5 月开始的,所以它很可能使用的是旧版本的库,而不是今天可用的库。
在社区的其他地方,Justin Schroeder 今年早些时候在X上发表了一篇文章,解释了为什么他认为 Rolldown 可能是未来 5-10 年最重要的 Web 项目。他继续称赞 Rollup 是迄今为止最好、最全面的打包器,但强调依赖 JavaScript 的性能可以得到改善。这篇文章提到,esbuild 演示了原生打包器(用 Go 语言编写)如何更快,但与 Rollup 不兼容,这就是 Rolldown 提供所需的速度和兼容性的地方。
Rolldown 是一个用 Rust 编写的开源打包器,为速度、兼容性和下一代打包特性而设计。它目前处于测试阶段,文档中提到它已经可以处理大多数生产用例。它支持 Rollup 风格的插件,为构建提供了性能提升,并引入了解决现代扩展需求的工具。如果你正在构建大型应用程序、单节点应用程序或框架,并且希望在不重写插件层的情况下更快地构建,Rolldown 是一个令人信服的选择。
原文链接:








评论