转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_4.html
项目github地址:https://github.com/shamoyuu/vue-vux-iconan
上一章我们基本上完成了开发、打包的任务,但是还有很多问题,这一章我们来增加命令行参数,来使gulp更加灵活。
首先我们来获取命令行参数。
获取命令行参数需要用到minimist插件,来将process.argv数组转化成一个对象
const minimist = require('minimist');
//命令行参数配置
const argsOptions = {
string: ['e', 'p', 't'],
default: {
e: 'production', //环境,可选值有【test】【production】
p: 'android', //平台,只在t为mobile时有效,可选值有【android】
t: 'webapp' //目标,可选参数有【mobile】【webapp】
}
}; const args = minimist(process.argv.slice(), argsOptions);
这样我们的配置文件和命令行参数都获取到了,我们来继续完善任务。
然后我们添加一个任务
'build': () => {
if(args.t == 'mobile'){
runSequence(
'build.android'
);
}
else if(args.t == 'webapp'){
runSequence(
'build.webapp'
);
}
else {
console.info(chalk.red('Target【' + args.t + '】不存在'));
process.exit(1);
}
}
这样就可以用gulp build -t mobile和gulp build -t webapp来分辨打包,因为我们的t默认值是webapp,所以第二条也可以简写为gulp build。
完结,散花。