概述
rollup 中文文档
Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码。Rollup 对代码模块使用 ES6 模块系统,ES6 模块可以使你自由、无缝地使用你最喜爱的 library 中那些最有用独立函数,而你的项目不必携带其他未使用的代码(tree-shaking)。ES6 模块最终还是要由浏览器原生实现(浏览器ESM),但当前 Rollup 可以使你提前体验。
Tree-shaking
除了使用 ES6 模块之外,Rollup 还静态分析代码中的 import,并将排除任何未实际使用的代码。
兼容性
Rollup 可以通过插件导入已存在的 CommonJS 模块。
配置文件
如果你想使用Rollup的配置文件,记得在命令行里加上–config或者-c。默认的配置文件rollup.config.js
export default {
input: "app.js",
output: {
file: "bundle.js",
format: "umd",
name: "bundle", // 必须,不然报标题的错
},
};
javascriptAPI
rollup.rollup
:rollup.rollup 函数返回一个 Promise,它解析了一个 bundle 对象,此对象带有不同的属性及方法rollup.watch
:Rollup 也提供了rollup.watch
函数,当它检测到磁盘上单个模块已经改变,它会重新构建你的文件束。 当你通过命令行运行 Rollup,并带上--watch
标记时,此函数会被内部使用。
使用插件的方式
// rollup.config.js
import json from 'rollup-plugin-json';
export default {
input: 'src/main.js',
output: {
file: 'bundle.js',
format: 'cjs'
},
plugins: [ json() ]
};