通常我们可以使用如下方式在命令行中传递参数
node .\scripts\test.js -- --backup --module=sa
使用yargs得到如下结果
{"_":[],"help":false,"version":false,"backup":true,"module":"sa","$0":"scripts\\test.js"}
同样的我们使用全局的gulp命令gulp -- --backup --module=sa同样可以得到上述参数。但是我们这个时候是使用的全局gulp,所以为了使用我们的node_modules下的gulp版本,通常在package.json中定义如下gulp命令
scripts: {
"build": "gulp"
}
但是当我们使用npm run build -- --backup --module=sa这个命令后拿到的yargs结果如下:
{"_":[],"help":false,"version":false,"$0":"node_modules\\gulp\\bin\\gulp.js"}
这个时候在gulpfile.js拿不到命令行中传递过来的参数了?为何?如何做才能在gulpfile.js拿到命令行中传递过来的参数呢?
环境
windows 7
node 6.10
npm 5.6.0
gulp 3.9.1
相关分类