在现代 Web 开发中,Rollup 已经成为了一款备受青睐的模块打包工具。它以轻量、高效且灵活的特点,为开发者提供了丰富的配置选项,以满足不同项目需求。今天我们将深入探讨 Rollup 的五大核心配置,帮助开发者更好地理解和使用这款强大的工具。
1. 输入配置(input)
输入配置是 Rollup 的入口点,它用于指定需要打包的源文件。通常情况下,我们会将主应用程序的文件作为输入,然后 Rollup 会自动处理该文件中的所有依赖关系。例如:
```javascript
input: 'src/main.js'
```
2. 输出配置(output)
输出配置定义了打包后代码的存放位置、格式以及相关选项。常见的输出格式有 ESM(ES6 模块)、UMD(通用模块定义)和 IIFE(立即执行函数表达式)。根据不同的项目需求,我们可以选择适当的输出格式。例如:
```javascript
output: {
file: 'dist/bundle.js',
format: 'umd',
name: 'MyModule'
}
```
3. 插件配置(plugins)
Rollup 的插件系统使其具有极高的可扩展性。通过使用各种第三方插件,我们可以实现诸如代码分割、压缩、tree-shaking(去除未引用代码)等功能。为了使用插件,我们需要将其添加到 `plugins` 配置数组中。例如:
```javascript
import { treeShake } from 'rollup-plugin-treeshake';
import { minify } from 'rollup-plugin-minify';
plugins: [
treeShake(),
minify()
]
```
4. 外部依赖配置(external)
在某些情况下,我们可能需要排除一些不需要被打包到最终输出中的外部依赖。这时我们可以使用 `external` 配置来告诉 Rollup 忽略这些模块,让它们保持原样。例如:
```javascript
external: ['lodash', 'moment']
```
5. 自定义解析配置(resolve)
Rollup 允许我们通过 `resolve` 配置来自定义模块解析规则。这在处理非标准模块路径、别名等情况时非常有用。例如:
```javascript
resolve: {
alias: {
'@': './src'
},
extensions: ['.js', '.ts']
}
```
以上我们详细介绍了 Rollup 的五大核心配置:输入配置、输出配置、插件配置、外部依赖配置以及自定义解析配置。掌握了这些配置,你将能够更加灵活地应对各种项目需求,从而充分发挥 Rollup 的强大功能。