【问题标题】:gulp.watch only runs once when passed a run-sequence taskgulp.watch 仅在传递运行序列任务时运行一次
【发布时间】:2015-07-23 16:54:10
【问题描述】:

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

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

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

当我对文件进行更改时,监视任务将运行我指定的任务一次。在这种情况下,应该执行的任务是“运行”,它是相同的作为默认任务,除了它不运行开发服务器并再次监视任务。当我进一步编辑时,无论是在同一个文件中还是在不同的文件中,都没有任何反应。

如果我通过 gulp.watch 一个普通的 gulp 任务(没有运行顺序),例如 clean 任务,那么 watch 每次都会运行 clean 任务。

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

【问题讨论】:

    标签: gulp run-sequence


    【解决方案1】:

    您没有将回调传递给运行序列,因此任务永远不会完成。 - OverZealous

    所以运行顺序任务需要如下所示:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多