仅在传递标志时执行gulp任务?

时间:2015-06-19 17:15:37

标签: gulp

当前代码:

var open = require('open');
var gulp = require("gulp");
var pkg = require("../../package.json");

//opens the launchpage with default browser
gulp.task("open", function () {
    open('http://localhost:' + pkg.webServerPort + '/commonclient/launchpage.html');
});

现在,运行gulp命令启动服务器并执行许多其他编译任务。如何修改它以运行"打开"只有当我在命令行中键入gulp -o或类似内容时才会执行任务吗?

1 个答案:

答案 0 :(得分:0)

您可以通过检查process.argv或只是在process.env

上查找ENV标记来执行此操作
gulp.task("open", function () {
  if (process.argv.indexOf('-o') > -1) {
    open('http://localhost:' + pkg.webServerPort + '/commonclient/launchpage.html');
  }
});

或使用env变量

gulp.task("open", function () {
  if (processs.env.USE_OPEN) {
    open('http://localhost:' + pkg.webServerPort + '/commonclient/launchpage.html');
  }
});