共计 1033 个字符,预计需要花费 3 分钟才能阅读完成。
rollup -w -c scripts/config.js --environment TARGET:web-full-dev
-c
指定配置文件 -w
监听文件,文件发生改变时重新构建--environment
设置环境变量。如rollup -c --environment TARGET:web-full-dev
可以通过process.env.TARGET
获取
if (process.env.TARGET) { // 根据 TARGET 生成 rollup config 对象
module.exports = genConfig(process.env.TARGET) // 生成 rollup config 对象
} else { // 如果没有设置 TARGET,返回生成函数
exports.getBuild = genConfig
exports.getAllBuilds = () => Object.keys(builds).map(genConfig)
}
rollup -w -c scripts/config.js --environment TARGET:web-full-dev
对应 rollup config 对象如下:
{
input: opts.entry, // 入口 src/platforms/web/entry-runtime-with-compiler.js
external: opts.external,
plugins: [flow(),
alias(Object.assign({}, aliases, {he: './entity-decoder'}))
].concat(opts.plugins || []),
output: {file: resolve('dist/vue.js'),
format: 'umd', // umd – 通用模块定义,以 amd,cjs 和 iife 为一体
banner: opts.banner,
name: opts.moduleName || 'Vue'
},
onwarn: (msg, warn) => { // 拦截警告信息
if (!/Circular/.test(msg)) {warn(msg)
}
}
}
- rollup-plugin-flow-no-whitespace // 去除 flow 静态类型检查代码
- rollup-plugin-alias // 为模块提供别名
- rollup-plugin-buble // 编译 ES6+ 语法为 ES2015,无需配置,比 babel 更轻量
- rollup-plugin-replace // 替换代码中的变量为指定值
参考资料:
1、rollup 文档
正文完