概念
Rollup是一款javascript的模块打包工具。Rollup使用javascript的ES6版本中包含的新标准化代码模块格式。而不是什么Commonjs或者AMD。
安装
npm install rollup
快速开始
执行rollup命令
// web
rollup main.js -- file bundle.js --format iife
//node
rollup main.js --file bundle.js --format cjs
//umd 格式需要一个包名
rollup main.js --file bundle.js --format umd --name "MyBundle"
Rollup出现背景
- 项目切分成较小独立模块更容易管理和开发。
- 得益于ES6版本javascript的改变,出现用于导入和导出函数和数据,以便于在脚本之间进行共享。
Tree-Shaking
Rollup可以静态分析你导入的代码,并将排除任何实际上没有使用的内容。
兼容CommonJs
可以通过 @rollup/plugin-commonjs插件去实现。
发布ES模块
如果想ES模块可以被Node或者Webpack去使用。可以使用Rollup编译成UMD或者CommonJS格式,然后在package.json中使用main属性指向编译后的版本。
如果package.json文件还有个module字段,那么像Rollup或者webpack2+这样可以感知ES模块的工具将直接导入ES模块版本。