2016-10-28 8 views
-1

Я хотел бы настроить свою задачу по умолчанию для запуска с задачей просмотра, если среда задана производством. Я не могу найти решение для выполнения моей работы с условием «gulp-if» в стеке задач. Вот мой код:Gulp - условная задача внутри задачи

gulp.task('default', ['styles', 'scripts', 'video' ], function() { 
    gulpif(isProduction, gulp.task('watch')); 
}); 

ответ

1

Вместо gulp.task('watch') использование gulp.start('watch') хотя обычно вы не хотите, чтобы вызвать задачу из другой задачи. Лучшим способом было бы создать функцию и вызвать функцию.

Также обратите внимание: метод gulp.start() больше не будет работать с gulp4


Update:

Вот пример того, как использовать функции в глотке:

var someFile = require('./someFile.js'); 

gulp.task('my-custom-task', function() { 
    someFile.doSomething('foo', 'bar'); 
}); 

Если ваша функция делает что-то асинхронно, она должна вызвать обратный вызов в конце, так что глоток может знать, когда это делается ne:

var someFile = require('./someFile.js'); 

gulp.task('my-custom-task', function (callback) { 
    someFile.doSomething('foo', 'bar', callback); 
}); 
+0

Спасибо! Как я могу назвать конкретную функцию в gulp? – Malyo

+1

Если по функции вы имеете в виду задачу gulp, то вышеописанный способ был бы таким путем. В противном случае вы можете создать обычную js-функцию и вызвать ее, как обычно вызывается функция. Исходя из этого, чтобы создать функцию, которая имитирует задачу gulp, вы можете просто создать функцию js и использовать в ней функции gulp для поддержания функциональности. В целом, это «стандарт», поэтому вы сможете легко перейти на gulp 4, а также упростить разделение gulpfile.js. Я обновлю свой ответ более подробно, как только попаду на компьютер – CriCri

 Смежные вопросы

  • Нет связанных вопросов^_^