週末在家重構網關的Npm包,用到了rollup,記下筆記node
rollup適合庫library的開發,而webpack適合應用程序的開發。 rollup也支持tree-shaking,自帶的功能。 package.json 也具備 module 字段,像 Rollup 和 webpack 2 這樣的 ES6 感知工具(ES6-aware tools)將會直接導入 ES6 模塊版本。webpack
{
output: {
file: 'dist/index.umd.js',
format: 'umd',
name: 'ClientApi'
}
}
複製代碼
rollup.config.js
git
$ rollup -c # compile
$ rollup -c -w # compile and watch
複製代碼
rollup -w時,會拋出ROLLUP_WATCH環境變量爲truegithub
{
"presets": [
["latest", {
"es2015": {
"modules": false
}
}]
],
"plugins": ["external-helpers"]
}
複製代碼
咱們設置"modules": false,不然 Babel 會在 Rollup 有機會作處理以前,將咱們的模塊轉成 CommonJS,致使 Rollup 的一些處理失敗。web