2

我正在为 php Laravel 应用程序使用 gulp 和 gulp-shell 包,我只需要知道这是否可以将参数从 cmd 传递到gulpfile.js?这是我的文件:

 gulp.task('default',  shell.task([  
   'echo user',    
  ]));

问题:是否可以在运行 gulp 时从命令行传递一个参数,然后在gulpfile打印出来而不是user?

4

1 回答 1

0

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"])
]))
于 2015-11-30T21:14:25.193 回答