【开源速递】探索 Rolldown:面向 Vite 未来的 JavaScript 打包工具

在现代前端开发中,打包工具扮演着至关重要的角色,它们帮助我们将多个文件和模块合并成一个或几个包,以便在浏览器中使用。近年来,我们见证了许多优秀的打包工具的诞生和发展,例如 Webpack、Rollup 和 esbuild 等。今天,我们要介绍的是一个新开源的打包工具------Rolldown,它旨在成为 Vite 未来使用的打包工具。

Rolldown 简介

Rolldown 是一个用 Rust 编写的 JavaScript 打包工具,它提供了与 Rollup 兼容的 API 和插件接口,但在范围上更类似于 esbuild。目前,Rolldown 还处于积极开发阶段,尚不适用于生产环境,但开发团队已经开源,以便开始与社区贡献者合作。

为什么要构建 Rolldown

Vite 目前内部依赖两个打包工具:esbuild 和 Rollup。Esbuild 以其惊人的速度和丰富的功能而闻名,但在应用程序打包方面,特别是在代码分割限制方面,其输出并不理想。而 Rollup 则在打包应用程序方面经过了实战考验,但与用编译到本地语言编写的打包工具相比,它的速度明显较慢。

使用两个不同的打包工具在多个方面都不是最佳选择,例如,输出之间的微妙差异可能会导致开发和生产构建之间的行为差异,以及在生产构建过程中,用户源代码被不同工具重复解析、转换和序列化,导致很多可以避免的开销。

理想情况下,Vite 希望能够利用一个单一的打包工具,该工具提供本地级别的性能,内置转换功能以避免解析/序列化开销,与 Rollup 兼容的插件接口,以及适合大规模应用程序的高级构建输出控制。这就是构建 Rolldown 的原因。

Rolldown 的特点和未来规划

Rolldown 基于 Oxc 构建,目前利用其解析器和解析器,并计划在未来利用 Oxc 的转换器和压缩器。Rolldown 的内部架构更接近 esbuild 而非 Rollup,其代码分割逻辑可能也会与 Rollup 的不同。Rolldown 的范围也比 Rollup 更大,更类似于 esbuild,它将内置 CommonJS 支持、node_modules 解析,并在未来支持 TypeScript / JSX 转换和压缩。

加入 Rolldown

Rolldown 目前还处于早期阶段,其开发团队正面向社区贡献者进行招募,并积极寻找对改进 JavaScript 工具链有长期计划的团队成员。如果你对此感兴趣,可以通过以下链接了解更多信息和如何参与:

Rolldown 的出现预示着前端打包工具的又一次进化,它的目标是提供一个高性能、易于使用且功能丰富的解决方案,以满足现代前端开发的需求。让我们拭目以待,看看 Rolldown 将如何改变我们构建和部署前端应用程序的方式。

相关推荐
Erishen24 分钟前
tsm-hub:把 LLM、Tools、MCP、Skills 收进一个统一网关
架构·开源·agent
辰域电子1 小时前
STM32项目开源:实验室消防预警控制系统(代码 + 原理图 + 仿真)
stm32·单片机·嵌入式硬件·开源·proteus
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(76):SEEM——从碎片检索到完整事件重建
论文阅读·人工智能·学习·开源·github
魔众2 小时前
3 步让 LinkAndroid 投屏用电脑键盘打中文
开源
企业数字化笔记2 小时前
低代码、开源系统、定制开发怎么选?用资产管理案例做技术取舍
低代码·开源
亥时科技3 小时前
无人机和监控视频,真能一次性打通吗?
开源·无人机·ai巡检
Casbin开源社区3 小时前
OpenAgent 详解:单二进制自托管 AI Agent 平台,30+ 模型接入、RAG 知识库、MCP 工具调用与 Casbin 工具权限
人工智能·golang·开源
tokenKe13 小时前
Tencent BrowserSkill :让 AI Agent 借用你的真实浏览器| 已登录浏览器与编码 Agent 之间的本地桥 |SSP
chrome·开源·github
Nicander14 小时前
我给 Excalidraw 做了一个本地工作区:DrawSpace
前端·开源
冬奇Lab15 小时前
一天一个开源项目(第223篇):TeamAI-CLI —— 腾讯开源的团队级 AI Agent 中间层,让每个人的 AI 能力变成团队共享能力
人工智能·开源·资讯