Gulp 仅当通过标志时才执行吞咽任务?

Gulp 仅当通过标志时才执行吞咽任务?,gulp,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/laun

当前代码:

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
或类似命令时运行“打开”任务?

您可以通过检查或在
process.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');
  }
});

有时我认为这些天StackOverflow上90%的评论都是“可能重复的”回复。我开始认为这是一个机器人。怀念人们回答问题以帮助其他开发人员的日子。有时消除重复对其他开发人员来说是一种实际的帮助。这个问题(虽然不是以这种确切的形式)的回答已经比我在建议的副本中所能回答的要好得多。我们通过告诉您解决方案的链接来回答它。为什么要花精力写出完全相同的答案?如果链接解决方案不适合您,请解释原因。