2015-06-19 4 views
0

Текущий код:Выполнять задачу 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

возможно дубликат [Можно ли передать флаг к Gulp, чтобы он запускал задачи по-разному?] (http://stackoverflow.com/questions/23023650/is-it-possible-to-pass-a-flag-to-gulp-to-have-it-run -tasks-in-different-ways) –

+0

Иногда я думаю, что 90% комментариев на StackOverflow в этот день s являются «возможными дубликатами» ответов. Я начинаю думать, что это бот. Ностальгические о днях, когда люди действительно отвечали на вопросы, чтобы помочь другим разработчикам. – antonpug

+1

Иногда удаление дублирования _is_ является фактической помощью для других разработчиков. Этот вопрос (хотя и не в этой точной форме) уже ответил гораздо лучше, чем я мог бы ответить на него в предлагаемом дубликате. –

ответ

0

Вы можете сделать это путем проверки 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'); 
    } 
}); 
Смежные вопросы