Vue 團隊已正式開源Rolldown —— 基于 Rust 的 JAVAScrip 打包工具。
Rolldown 是使用 Rust 開發的 Rollup 替代品,它提供與 Rollup 兼容的應用程序接口和插件接口,但在功能范圍上更類似于 esbuild。
根據官方文檔,Rolldown 旨在作為 Vite 未來使用的打包工具。目前 Vite 內部依賴兩個打包工具:
- esbuild 用于依賴預打包、Type 和 JSX 轉換、目標降級以及代碼壓縮
- Rollup 用于生產構建使用,并支持一個與 Rollup 兼容的插件接口
然而,使用兩個不同的打包工具存在明顯弊端:
- 兩者之間的輸出差異可能導致開發環境與生產環境行為的不一致
- 用戶代碼在生產構建過程中會被多次解析、轉換和序列化,從而增加了不必要的性能開銷
因此,開發團隊希望 Vite 能整合一個單一的打包工具,提供原生級性能、避免解析 / 序列化開銷的內置轉換、與 Rollup 兼容的插件接口,以及適合大規模應用的高級構建輸出控制。
這就是 Rolldown 誕生的背景。
未來規劃
Rolldown 采用 Rust 編寫,基于 Oxc 構建,目前正在使用其解析器。
Oxc 是 Rust 編寫的 Java 高性能工具集合,由字節跳動團隊創建。該項目的重點在于構建 Java 的基本編譯器工具:解析器、linter、格式化程序、轉譯器、壓縮器和解析引擎。
團隊還計劃在 Oxc 的轉換器和壓縮工具將來可用時進行集成。團隊的長期目標是讓 Vite 用戶(直接或間接通過框架)能夠以最小的成本過渡到內部使用 Rolldown 的 Vite 版本。同時,Rolldown 還將作為獨立的打包工具直接使用。
Rolldown 官網顯示,該項目團隊成員共有 4 人,現在由 Vue 和 Vite 作者尤雨溪領導。
相關鏈接
https://rolldown.rs/about
https://Github.com/rolldown-rs/rolldown
END