Rolldown | 用于 JavaScript 的 Rust 打包器

主要观点:介绍了 JavaScript 开发中的 bundler 及其作用,重点介绍了 Rolldown 这个 bundler,包括其设计目的、优势(性能、生态系统兼容性、额外功能等)、功能范围(与 Rollup 兼容的 API、类似 esbuild 的功能、独有的功能等)以及相关的贡献者。
关键信息

  • bundler 负责将小代码块编译成更大更复杂的内容,对 web 应用可加快加载运行速度,对库可避免重复打包和提高运行性能。
  • Rolldown 主要为 Vite 设计,旨在用一个统一的构建工具替代 Vite 中的 esbuild 和 Rollup,性能优于 Rollup,与 Vite 生态系统兼容且有额外功能。
  • Rolldown 与 Rollup API 兼容,有类似 esbuild 的功能,还提供 esbuild 和 Rollup 没有的功能,如高级分块控制、HMR 支持、模块联邦等。
    重要细节
  • Rolldown 用 Rust 编写,WASM 构建比 esbuild 快,比 Rollup 快 10 - 30 倍。
  • 其支持与 Rollup / Vite 相同的插件 API,提供平台预设、TypeScript 等转换、模块解析等功能。
  • Rolldown 有“模块类型”“插件钩子过滤器”等概念,与 esbuild 相关但 Rollup 没有。
  • Rolldown 的实现得益于从其他 bundler 如 esbuild、Rollup、webpack、Parcel 等中吸取的经验。
阅读 24
0 条评论