当通过 运行 序列任务时,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);
});
我有一个 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);
});