为 gulp 任务列表添加先决条件

Adding a prerequisite for a list of gulp tasks

以下任务将 运行 并行(这很好):

gulp.task('default', ['build', 'lint', 'test']);

但我想要先决条件任务 'clean' 到 运行 在它们开始之前。如何在不修改每个子任务的情况下实现这一目标?

默认情况下,出于速度原因,任务将尝试并行 运行。如果您确实需要先 运行 完成某些操作(例如 clean),那么您需要使用 运行Sequence。我将在这里制作一些示例代码:

  var gulp = require('gulp'),
      runSequence = require('run-sequence');

  function runAllTasks(cb) {
    runSequence('pretasks', 'posttask', cb);
  }
  gulp.task('pretasks', ['clean']);
  gulp.task('posttask', ['build', 'lint', 'test']);
  gulp.task('default', runAllTasks);

以上或多或少的表达了你需要做的事情。使用 运行 顺序 运行 清理(或任何其他可以 运行 并行清理)first。然后,清洁后执行所有操作。为此顺序模型分配默认值。

当然,运行为了性能,尽量避免顺序ning!

编辑:

我想补充一下,因为我看了你的代码....

您可能会构建 然后 serve/test。您不希望在仍在四处移动文件、连接脚本等时启动 运行 服务器或测试 运行ner....