只有通过标志时才执行吞咽任务?

问题描述:

目前代码:只有通过标志时才执行吞咽任务?

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

的[可能重复是否有可能通过一个标志让Gulp让它以不同的方式运行任务?](http://stackoverflow.com/questions/23023650/is-it-possible-to-pass-a-flag-to-gulp-to-have-it-run不同的方式) –

+0

有时候我认为这些日子中有90%的评论在StackOverflow上s是“可能重复”的回应。我开始认为这是一个机器人。怀念人们实际回答问题以帮助开发人员的日子。 – antonpug

+1

有时候删除重复对于其他开发者来说实际上是一种帮助。这个问题(虽然不是这种确切的形式)已经得到了很好的回答,比我在建议的副本中回答得更好。 –

您可以通过检查process.argv,或者干脆找一个ENV旗process.env

gulp.task("open", function() { 
    if (process.argv.indexOf('-o') > -1) { 
    open('http://localhost:' + pkg.webServerPort + '/commonclient/launchpage.html'); 
    } 
}); 

或与环境变量做到这一点

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