SuperAPI AI 工具集

rollup

编程与开发

查看项目

更新于 10-15 21:49

技能介绍

用途:Rollup(v4)是面向库的打包器,用于把 JavaScript/TypeScript 库打包为优化后的 ESM 与 CommonJS 产物;它比 Webpack 产物更小更干净,并以 Tree Shaking 著称。适合现代 JS/TS 库打包、零开销代码分割(输出动态 import 分块与共享模块)、设计系统与组件库分发(React、Vue、Web Components,并外置 peer 依赖),以及作为 Vite 等现代构建工具在生产构建时的底层编译器。

主要能力:支持 ESM/CJS 多格式输出、source map、多入口构建、动态导入分块、preserveModules 保留目录结构以支持子路径导入,并结合 @rollup/plugin-typescript 输出 .d.ts 类型声明。通过 @rollup/plugin-node-resolve、@rollup/plugin-commonjs、@rollup/plugin-terser 等插件完成解析、CJS 转换与压缩;也可用 rollup-plugin-peer-deps-external 自动外置 peer 依赖。

使用方式:在 rollup.config.mjs 中配置 input、output(如 dist/index.mjs 的 esm 与 dist/index.cjs 的 cjs)与 plugins 数组,并用 external 声明 react、react-dom 或 /^node:/ 等外部依赖;CLI 构建命令为 npx rollup -c --bundleConfigAsCjs。启用 Tree Shaking 可在 package.json 设置 "sideEffects": false,并用 /* @PURE */ 标注纯函数调用。多入口构建可将配置导出为数组,分别输出 dist/core、dist/react 等。

适用场景与限制:适合库打包、组件库分发与自定义工具链;不适合复杂 SPA,官方建议这类项目使用 Vite 或 Turbopack 以获得更好的开发服务器体验。生产库构建不应关闭 source map;不要把 fs、path 等 Node 内置模块直接打包进浏览器目标而不加 polyfill。常见问题包括未解析依赖(需加 node-resolve)、TS 插件 tsconfig 路径不匹配、循环依赖警告等。其他收费、价格与平台信息暂未提供。