几个咕嘟咕嘟任务等待另一个

问题描述:

我需要建立的咕嘟咕嘟的任务,像这样的顺序:几个咕嘟咕嘟任务等待另一个

任务1 - > Task2A,Task2B,Task2C - >任务3,

其中任务2A,2B,2C运行并行(但是任务1应该在之前完成,并且只完成一次)。

我试了一下:

gulp.task('Task1', []); 

gulp.task('Task2A', ['Task1']); 

gulp.task('Task2B', ['Task1']); 

gulp.task('Task2C', ['Task1']); 

gulp.task('Task3', ['Task2A', 'Task2B', 'Task2C']); 

看起来像它的工作,但我不知道,它保证任务1将被执行只有1次,或者也可以多次触发?

谢谢。

或许要做到这一点(不使用gulp4.0)最简单的方法是run-sequence plugin

对于您的情况:

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

gulp.task('build', function(callback) { 
    runSequence('Task1', 
       ['Task2A', 'Task2B', 'Task2C'], 
       'Task3', 
       callback); 
}); 

请确保您有返回所有任务的语句。

请注意

这样做的目的是一个临时解决方案,直到一饮而尽4.0的发布应该有类似的规定任务相关的支持。

鉴于Gulp 4似乎永远不会完全释放,请将其作为您的意愿。请注意,这种解决方案是一种破解,并可能会停止使用未来的吞咽更新。

试试这个结构

gulp.task('Task1', []); 

gulp.task('Task2A', ['Task1']); 

gulp.task('Task2B', ['Task2A']); 

gulp.task('Task2C', ['Task2B']); 

gulp.task('Task3', ['Task2C']); 

此外,您还可以另一项任务中运行的任务,像这样:

gulp.task('task1', function(){ 
    gulp.start('task2'); 
}) 
+0

这不是我所需要的。在你的例子中,Task2A/B/C将会一个接一个地运行。 –