【问题标题】:How to pass argument to gulp?如何将参数传递给 gulp?
【发布时间】:2015-02-28 15:10:56
【问题描述】:
我正在为 php Laravel 应用程序使用 gulp 和 gulp-shell 包,我只需要知道这是否可以将参数从 cmd 传递到 gulpfile.js ?这是我的文件:
gulp.task('default', shell.task([
'echo user',
]));
问题:
是否可以在运行 gulp 时从命令行传递参数,然后在 gulpfile 中打印出来而不是 user?
【问题讨论】:
标签:
command-line
gulp
gulp-shell
【解决方案1】:
var command_line_args = require('yargs').argv
不确定这对您或其他人是否有用,但我通过自定义函数显式传递参数来手动完成此操作。它不是超级优雅,但可以完成工作。
var appendWithCommandLineArguments = function(cmd, arguments) {
var to_append = _.chain(command_line_args)
.pick(arguments)
.reduce(function(string, val, prop){
return string+"--"+prop+"="+val+" ";
}, " ")
.value();
return cmd + to_append
}
gulp.task('taskmailer', shell.task([
appendWithCommandLineArguments('node automate/build/mail/taskMailer.js', ["email", "template"])
]))