rolldown/rolldown
Fast Rust bundler for JavaScript/TypeScript with Rollup-compatible API.
github.com · rolldown/rolldown
rolldown/rolldown
Fast Rust bundler for JavaScript/TypeScript with Rollup-compatible API.
Rolldown 是由 VoidZero 团队用 Rust 编写的 JavaScript/TypeScript 打包器,目标是成为 Vite 未来的默认底层打包引擎。它在 API 与插件体系上保持与 Rollup 兼容,但在功能范围上更接近 esbuild,并依托 Rust 与 oxc 生态追求更高的构建吞吐。对多数应用而言,官方更推荐通过 Vite 使用 Rolldown,以获得完整的开发服务器、HMR 与生产构建体验。
rolldown 命令行,以及 .js / .ts 等格式的 rolldown.config.*,推荐 defineConfig 获得类型提示watch API,并支持在同一配置文件中并行执行多组构建前端项目在依赖增多后,Rollup 构建往往成为 CI 与本地开发的瓶颈。Rolldown 在保持 Rollup 心智模型的前提下,用 Rust 重写打包热路径,让团队在不推翻现有插件投资的情况下评估更快的构建方案。若你已在用 Vite,关注 Rolldown 等于提前对齐下一代工具链;若你维护库或定制构建流水线,也可单独安装 rolldown 做对比基准或渐进迁移。
latest 1.x 或 pkg.pr.new 预览版)的稳定性预期。在项目目录安装为开发依赖:
pnpm add -D rolldown或使用 npm:
npm install -D rolldown验证 CLI 是否可用:
./node_modules/.bin/rolldown --version创建最小示例并打包:
mkdir -p srcprintf "export function hello() { console.log('Hello Rolldown!'); }\n" > src/hello.jsprintf "import { hello } from './hello.js';\nhello();\n" > src/main.js./node_modules/.bin/rolldown src/main.js --file bundle.jsnode bundle.js更推荐在 package.json 中配置脚本,并使用配置文件:
import { defineConfig } from 'rolldown';
export default defineConfig({ input: 'src/main.js', output: { file: 'bundle.js', },});{ "type": "module", "scripts": { "build": "rolldown -c" }}rolldown --version 输出版本号且无模块加载错误。pnpm run build(或等价命令)生成预期产物(如 bundle.js),node bundle.js 行为符合源码逻辑。NAPI_RS_FORCE_WASI=error 强制 Wasm,或在 yarn/pnpm 中配置 supportedArchitectures 以安装 Wasm binding。watch 的 close() 返回 Promise,与 Rollup 行为略有不同,集成长时间监听流程时需注意异步收尾。