Rollup #

什么是 Rollup? #

Rollup 是一个 JavaScript 模块打包器,它将小块代码编译成大块复杂的代码,例如库或应用程序。Rollup 以其出色的 Tree-shaking 能力和对 ES Modules 的原生支持而闻名。

核心定位 #

text
┌─────────────────────────────────────────────────────────────┐
│                        Rollup                                │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  Tree-shaking│  │  ES Modules │  │  输出格式   │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  插件系统    │  │  代码分割    │  │  高性能     │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
└─────────────────────────────────────────────────────────────┘

为什么选择 Rollup? #

优势 #

text
✅ 出色的 Tree-shaking
   - 静态分析
   - 自动移除死代码
   - 最小化输出

✅ ES Modules 原生支持
   - 标准模块格式
   - 未来兼容
   - 更好的优化

✅ 多种输出格式
   - ES Modules
   - CommonJS
   - UMD
   - IIFE

✅ 插件生态
   - 丰富的插件
   - 易于扩展
   - 社区活跃

快速开始 #

安装 #

bash
npm install --save-dev rollup

配置文件 #

javascript
// rollup.config.js
export default {
  input: 'src/index.js',
  output: {
    file: 'dist/bundle.js',
    format: 'esm',
    sourcemap: true,
  },
  plugins: [],
};

运行打包 #

bash
npx rollup -c

文档结构 #

text
Rollup 文档
├── 入门基础
│   ├── Rollup 简介
│   ├── 安装与配置
│   ├── 基本使用
│   ├── 命令行参数
│   └── 配置文件
│
├── 核心功能
│   ├── 插件系统
│   ├── 代码分割
│   ├── Tree-shaking
│   └── 多入口打包
│
└── 高级特性
    ├── 自定义插件
    ├── 高级配置
    ├── 性能优化
    └── 与其他工具集成

Rollup vs Webpack #

特性 Rollup Webpack
Tree-shaking ✅ 优秀 ✅ 良好
配置复杂度
输出格式 多种 主要 bundle
代码分割 支持 强大
开发服务器 需插件 内置
适用场景 库开发 应用开发

学习路径 #

text
入门阶段
├── Rollup 简介
├── 安装与配置
├── 基本使用
└── 配置文件

进阶阶段
├── 插件系统
├── 代码分割
├── Tree-shaking
└── 多入口打包

高级阶段
├── 自定义插件
├── 高级配置
├── 性能优化
└── 与其他工具集成

下一步 #

现在你已经了解了 Rollup 的基本概念,接下来学习 Rollup 简介,开始打包你的第一个项目!

最后更新:2026-03-29