Rolldown-基于Rust的JavaScrip打包工具

两袖清风2年前技术文档3951

image.png

Rolldown 的优势

Rolldown 是一款用 Rust 重新编写的 Rollup 替代品。而 Rollup 使用的是 javascript。

Rolldown 具有以下特点:

  • 与 Rollup 兼容:Rolldown 设计之初就考虑到了与 Rollup 的兼容性,这意味着现有的 Rollup 插件和配置可以无缝迁移到 Rolldown,极大地方便了开发者的过渡和使用。

  • 更快的构建速度:Rolldown 致力于提供更快的构建速度,这对于开发效率的提升至关重要。在现代 Web 开发中,快速的反馈循环可以显著提高开发效率,而 Rolldown 正是为了满足这一需求而设计的。

  • 更小的输出体积:Rolldown 还专注于生成更小的输出体积,这有助于减少加载时间,提高用户体验。在移动设备和网络连接受限的环境中,这一点尤为重要。


Rolldown 类似于 esbuild,它是一款专注于速度和性能的 JavaScript 构建工具。

尤雨溪(Evan You)表示,在捆绑纯 esm 模块时,Rolldown 比 esbuild 快 1.4~2 倍。但这次大家对性能的关注度不太高。反而是 Rust 占了很大一部分的注意力。


Vite 存在的问题

目前,Vite 的底层使用了两个打包工具:EsbuildRollup

首先,让我们了解一下 Esbuild 和 Rollup 的特点。

Esbuild 是一个高性能的 JavaScript 打包器,专注于实现极速的构建过程。

image.png

它支持多种模块类型、语法转换和插件扩展,且无需缓存即可迅速完成打包任务。在 Vite 中,Esbuild 被用于依赖预打包、TypeScript 和 JSX 转换、目标降级以及代码压缩。

而 Rollup 则是一个 JavaScript 模块打包器,能够编译小块代码成复杂的大型代码块,特别支持 ES6 模块。

image.png

它支持 Tree Shaking,有效去除未使用的代码,减少最终文件大小。在 Vite 中,Rollup 被用于生产构建,并支持一个与 Rollup 兼容的插件接口。

然而,使用两个不同的打包工具存在明显弊端:它们之间的输出差异可能导致开发环境与生产环境行为的不一致,同时,用户代码在生产构建过程中会被多次解析、转换和序列化,从而增加了不必要的性能开销。

因此,希望 Vite 能够整合一个单一的、性能卓越的打包工具,既能减少解析和序列化开销,又能与 Rollup 插件生态兼容,并具备出色的大型应用构建输出控制能力。

正是在这个背景下,Rolldown 应运而生!


Rolldown 的未来

Rolldown 使用 Rust 编写,并且使用了 Oxc 中的工具。Oxc 是字节跳动出品的一个用 Rust 编写的 JavaScript 高性能工具集合,该项目的重点在于构建 JavaScript 的基本编译器工具:解析器、linter、格式化程序、转译器、压缩器和解析引擎。此外,OXC 还为 Rspack、Rolldown 和 Ezno 等新兴 JavaScript 工具提供支持。

目前,Rolldown 主要依赖其高效的解析器和解析引擎进行工作。未来,一旦 Oxc 的转换器和压缩器可用,Rolldown 也将计划集成它们,Rolldown 也将直接作为独立的打包使用。

当 Rolldown 发展至成熟阶段时,它将能够直接取代 Esbuild 和 Rollup,这样将减少了对外部工具的依赖,为未来的功能扩展提供更大的便利和灵活性。

可以说: Rolldown 可能是未来 5-10 年最具影响力的前端项目之一。


相关文章

宝塔面板php7.3&7.4版本不支持ZipArchive扩展解决办法

宝塔面板php7.3&7.4版本不支持ZipArchive扩展解决办法

详情内容宝塔面板php7.3&7.4版本不支持ZipArchive,会提示报错Class ‘ZipArchive‘ not found解決。要手工安装zip扩展首先需要安装libzip。宝塔面...

优秀 Win10 / 11 定制版:ReviOS

优秀 Win10 / 11 定制版:ReviOS

ReviOS介绍目前「ReviOS」系统提供了两个版本,分别是 Win10 和 Win11 系统,最新版都基于 2022 制作。这里锋哥选择 Win11 版本在虚拟机安装体验。镜像大小 3.49 GB...

抢先安装体验 Win11 24H2 "正式版"

抢先安装体验 Win11 24H2 "正式版"

微软将于今年下半年发布 Win11 24H2 正式版,微软将在这个版本中带来大量的 AI 新功能。现在 Win11 24H2 正式版已经确认为 26100 版本号,进入到了 Release Previ...

鲁大师出品,闲置电脑变成 NAS 服务器:AiNAS

鲁大师出品,闲置电脑变成 NAS 服务器:AiNAS

如果你有闲置的旧电脑、软路由等设备也可以将它们变成 NAS 服务器,现在鲁大师也推出了把闲置电脑变成 NAS 的软件「AiNAS」装上后它即可变成你的个人私有云服务器,同时还有 AI 加持、支持自建知...

让 Win11 使用全新的桌面:Cairo Desktop

让 Win11 使用全新的桌面:Cairo Desktop

微软对 Win11 砍了一些桌面功能,例如调整任务栏位置、右键菜单功能,引发用户强烈不满。虽然可以通过一些工具来恢复这些功能,但是今天要推荐的是一款代替 Win11 桌面的免费开源「Cai...

你的电脑秒变 NAS 服务器,打造家庭影音中心:AiNAS

你的电脑秒变 NAS 服务器,打造家庭影音中心:AiNAS

随着网盘吃相越来越难看,就很有必要入手一台 NAS 设备,拥有完全的支配权。如果你不想花费重金购买 NAS 设备,手头有闲置的电脑、NUC、MINI 主机等设备,通过安装 NAS 系统,也可以变成 N...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。