写点什么

VoidZero 的 Rolldown 库:具备 Rollup 兼容性且拥有 Rust 般速度的 AP

作者:Daniel Curtis

  • 2025-11-21
    北京
  • 本文字数:1011 字

    阅读完需:约 3 分钟

大小:483.72K时长:02:45
VoidZero的Rolldown库:具备Rollup兼容性且拥有Rust般速度的AP

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 是一个令人信服的选择。

 

原文链接:

https://www.infoq.com/news/2025/11/rolldown-bundler-rust/

2025-11-21 11:154

评论

发布
暂无评论

架构实战营 - 模块二作业

思梦乐

【LeetCode】变位词组Java题解

Albert

算法 LeetCode 7月日更

架构实战营 - 模块二作业: 分析微信朋友圈的高性能复杂度

Julian Chu

#架构实战营

面试算法之螺旋数组查找问题

泽睿

面试 二分查找

微信朋友圈架构设计

summer

极客时间 极客时间架构师一期

架构实战营模块二作业

老猎人

架构实战营

基于P4的SCION -- 构建太比特的未来互联网

俞凡

网络

【Java特性专题】JDK(8-11)特性分布变化简介

码界西柚

Java Java新特性 7月日更 Java11

Presto原理&调优&面试&实战全面升级版

王知无

编程的本质是什么?

白色蜗牛

Java 编程 程序员 软件 计算机

Go语言:sync包控制并发详解!

微客鸟窝

Go 语言

架构实战营模块二作业

maybe

Spring源码解析 -- SpringWeb请求参数获取解析

Java spring 源码解析

性能测试误差统计实践

FunTester

软件测试 测试 性能测试 测试开发

性能测试误差分析文字版-上

FunTester

性能测试 自动化测试 接口测试 测试框架 测试开发

在线XML转JSON工具

入门小站

生产环境踩坑系列::Hive on Spark的connection timeout 问题

dclar

spark hive hive on spark

Vue进阶(幺幺捌):CSS3 - 选择器first-child、last-child、nth-child、nth-last-child、nth-of-type

No Silver Bullet

Vue 7月日更

2.2如何设计高性能架构

Lemon

高性能架构

性能测试误差分析文字版-下

FunTester

软件测试 性能测试 接口测试 测试框架 测试开发

智能运维系列之五:总结

micklongen

AIOPS 智能运维

Vue进阶(幺叁贰):ES数组操作:数组合并

No Silver Bullet

Vue 7月日更 数组合并

【Flutter 专题】83 解自定义 ACEWave 波浪 Widget (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

external-resizer源码分析-pvc扩容分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

你真的了解 Session 和 Cookie 吗?

陈皮的JavaLib

Java HTTP session Cookie

[架构实战营][模块二作业]

KK_TTN

架构实战营

【架构设计模块二】:微信朋友圈的高性能复杂度

Ryoma

架构实战营

[架构实战营一期] 模块二作业

trymorewang

架构实战营

Selenium4 Alpha-7升级体验

FunTester

maven 自动化测试 Gradle 测试开发 selenium

2.3如何设计高可用架构

Lemon

存储高可用

VoidZero的Rolldown库:具备Rollup兼容性且拥有Rust般速度的AP_后端_InfoQ精选文章