教程
开 始你的第一次打包
在开始之前,你需要安装 Node.js 以便使用 NPM。你还需要知道如何在你的机器上访问 命令行。
目前使用 Rollup 最简单的方法是通过命令行界面(CLI)操作。现在,我们将全局安装它(稍后我们将学习如何将它安装到你的项目中,以便你的构建过程具有可移植性,但暂时不用担心这个)。在命令行中输入以下内容:
npm install rollup --global
# or `npm i rollup -g` for short
你现在可以运行 rollup
命令了,试一试吧!
rollup
因为没有传入参数,Rollup 会打印出使用说明。这和运行 rollup --help
,或者 rollup -h
相同。
让我们创建一个简单的项目:
mkdir -p my-rollup-project/src
cd my-rollup-project
首先,我们需要一个 入口。将这段代码复制到一个名为 src/main.js
的新文件中:
// src/main.js
import foo from './foo.js';
export default function () {
console.log(foo);
}
接下来,让我们创建一个名为 foo.js
的模块,它在入口文件中被导入:
// src/foo.js
export default 'hello world!';
现在我们已经准备好进行一次打包:
rollup src/main.js -f cjs
-f
选项 (是 --format
的缩写) 指定了产物的类型 — 在本例中是 CommonJS (可以在 Node.js 中运行)。因为我们没有指定输出文件,所以它将直接打印到 stdout
:
'use strict';
const foo = 'hello world!';
const main = function () {
console.log(foo);
};
module.exports = main;
你也可以像这样将产物保存为文件:
rollup src/main.js -o bundle.js -f cjs
(你也可以使用 rollup src/main.js -f cjs > bundle.js
,但是后面我们会看到,如果你需要生成 sourcemaps 的话,这种方式的灵活性会更低。)
尝试运行这段代码:
node
> var myBundle = require('./bundle.js');
> myBundle();
'hello world!'
恭喜!你已经使用 Rollup 完成了一次打包!
使用配置文件
到目前为止,一切都很好,但随着我们添加更多选项,输入命令会变得有点麻烦。
为了避免重复输入,我们可以创建一个包含所有必要选项的配置文件。配置文件是用 JavaScript 编写的,比原始的 CLI 更加灵 活。
在项目根目录中创建一个名为 rollup.config.mjs
的文件,并添加以下代码:
// rollup.config.mjs
// ---cut-start---
/** @type {import('rollup').RollupOptions} */
// ---cut-end---
export default {
input: 'src/main.js',
output: {
file: 'bundle.js',
format: 'cjs'
}
};
(你也可以使用 CJS 模块,例如 module.exports = {/* config */}
)
使用配置文件, 我们使用 --config
或者 -c
:
rm bundle.js # 删除它我们可以检查命令是否正常!
rollup -c
你可以使用等效的命令行选项覆盖配置文件中的任何选项:
rollup -c -o bundle-2.js # `-o` 等价于 `--file`(曾用名为 "output")
注意:Rollup 本身会处理配置文件,这就是为什么我们可以使用 export default
语法的原因 – 代码没有被 Babel 或任何类似的工具转换,因此你只能使用在你当前使用的 Node 版本中支持的 ES2015 功能。
如果你想,你也可以选择指定不同于默认的 rollup.config.mjs
的配置文件:
rollup --config rollup.config.dev.mjs
rollup --config rollup.config.prod.mjs
本地安装 Rollup
在团队或分布式环境中工作时,将 Rollup 添加为 本地 依赖可能是明 智的选择。本地安装 Rollup 可以避免多个贡献者单独安装 Rollup 的额外步骤,并确保所有贡献者使用相同版本的 Rollup。
用 NPM 安装 Rollup 到本地:
npm install rollup --save-dev
或者使用 Yarn:
yarn -D add rollup
安装完成后, Rollup 可以在项目的根目录中运行:
npx rollup --config
或者使用 Yarn:
yarn rollup --config
安装完成后,通常会在 package.json
中添加一个单一的构建脚本,为所有贡献者提供方便的命令。例如:
{
"scripts": {
"build": "rollup --config"
}
}