Skip to content

Rollup

简介

Rollup 是一个专注于 ES 模块打包的工具,以高效的代码打包和 Tree-shaking 能力著称,特别适合库的打包。

工作原理

核心特性

1. Tree-shaking

  • 自动移除未使用代码
  • 基于 ES 模块静态分析
  • 支持副作用标记

2. 多种输出

  • ES Module (esm)
  • CommonJS (cjs)
  • UMD
  • IIFE

3. 配置示例

js
// rollup.config.js
export default {
  input: 'src/main.js',
  output: {
    file: 'bundle.js',
    format: 'esm'
  },
  plugins: [
    resolve(),
    commonjs()
  ]
}

最佳实践

  • 库的打包首选工具
  • 配合插件处理各类资源
  • 输出多种模块格式
  • 配合 Terser 进行代码压缩