当通过 运行 序列任务时,gulp.watch 仅 运行 一次

gulp.watch only runs once when passed a run-sequence task

我有一个 gulpfile,它使用 运行 序列和 gulp.watch()。

这是一个使用 运行 序列的示例任务。

gulp.task('rebuild', function (callback) {
    runSequence('clean',
                'lint',
                ['process-js', 'process-styles', 'move-fonts', 'move-static-content']);
});

当我对文件进行更改时,监视任务将运行我指定的任务恰好一次。在这种情况下,应该执行的任务是 "run",这与默认任务相同,只是它不会再次 运行 开发服务器和监视任务。当我进行进一步编辑时,无论是在同一个文件还是不同的文件中,都没有任何反应。

如果我传递 gulp.watch 一个简单的 gulp 任务(没有 运行 序列),例如清洁任务,那么手表将 运行 清洁任务时间。

我确定我做错了什么,但我不明白是什么。我认为某些东西可能会默默地出错并断开流,但我不知道如何调试它。

You aren't passing the callback into run-sequence, therefore the task never completes. - OverZealous

因此 运行 序列任务需要如下所示:

gulp.task('rebuild', function (callback) {
    runSequence('clean',
                'lint',
                ['process-js', 'process-styles', 'move-fonts', 'move-static-content'],
                callback);
});