Gulp 任务顺序 - 串行和并行

Gulp Task Order - Serial & Parallel

Gulp 运行 我有以下任务。

  1. script-a
  2. script-b
  3. script-c

script-a 与任务 bc 无关(相对而言),运行.

大约需要 5 秒

script-bscript-c 是相关的,所以必须是 运行 连续的,每个 运行.

需要大约一秒钟

因此,我希望能够 运行 abc 并行 - 同时保持后两者串行。

我目前正在使用 运行Sequence 将它们 运行 全部串联起来;

gulp.task('script', function(callback) {
  return runSequence(
    'script-a',
    'script-b',
    'script-c',
    callback
  )
});

我可以将 script-a 到 运行 与 一个 其他任务并行进行;

gulp.task('script', function(callback) {
  return runSequence(
    ['script-a', 'script-b'],
    'script-c',
    callback
  )
});

但这似乎只解决了问题的一半。看起来答案应该是显而易见的?

您可以尝试在另一个任务中将 script-b 和 script-c 分组,然后 运行 在任务 script 中并行。像这样:

// script-b and script-c run in serial
gulp.task('scriptsBC', function(callback){
  return runSequence(
    'script-b',
    'script-c',
    callback
  )
})

// script-a and scriptBC run in paralell
gulp.task('script', function(callback) {
  return runSequence(
    ['script-a','scriptsBC'],
    callback
  )
});