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);
});
Другие вопросы по тегам