gulp.watch запускается только один раз при выполнении задачи последовательности выполнения
У меня есть gulpfile, он использует последовательность запуска и gulp.watch().
Вот пример задачи, которая использует последовательность выполнения.
gulp.task('rebuild', function (callback) {
runSequence('clean',
'lint',
['process-js', 'process-styles', 'move-fonts', 'move-static-content']);
});
Когда я внесу изменение в файл, задача наблюдения будет запускать задачу, указанную мной ровно один раз. В этом случае задача, которая должна быть выполнена, - это "выполнить", которая аналогична задаче по умолчанию, за исключением того, что она не запускает сервер разработки и не наблюдает за задачей снова. Ничего не происходит, когда я делаю дальнейшие изменения, будь то в том же файле или в другом.
Если я передам gulp.watch простую задачу gulp (без последовательности выполнения), например, задачу clean, тогда часы будут запускать задачу clean каждый раз.
Я уверен, что делаю что-то не так, но я не понимаю, что. Я думаю, что-то может молча вызывать ошибки и отключать поток, но я не могу понять, как это отладить.
1 ответ
Вы не передаете обратный вызов в последовательность выполнения, поэтому задача никогда не завершается. - Чрезвычайный
Таким образом, задача последовательности выполнения должна выглядеть так:
gulp.task('rebuild', function (callback) {
runSequence('clean',
'lint',
['process-js', 'process-styles', 'move-fonts', 'move-static-content'],
callback);
});