通过命令行分配gulp变量

时间:2016-09-14 04:14:49

标签: javascript node.js gulp

使用gulp任务时,如何使用命令行为变量赋值。

gulp task-name value

这样的话,所以当我运行value时,我可以访问{{1}}。

我尝试过使用gulp-param,但这会阻止我的某些任务运行。

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是在调用gulp之前设置env变量并通过process.env.MYVAR使用它们。

例如:

MY_VAR=12345
gulp

在gulp任务中:

gulp.task('task-name', function () {
  var anotherValue = process.env.MY_VAR;
}

答案 1 :(得分:0)

您可以通过命令行将值传递到gulp任务。最简单的方法是使用像yargs这样的args模块。

var args = require('yargs').argv;

// this isn't strictly necessary but it's good to set default values
var target = args.target || 'default';

gulp.task('something', function() {
    gulp.src('*.html')
        // let's use our variable here
        .pipe(dest(target));
});

然后从命令行调用它:

gulp something --target blah

其中blah将是gulp任务中target的值。