Gulp 吞咽任务订单-序列和;平行的
我有以下任务正在由Gulp运行Gulp 吞咽任务订单-序列和;平行的,gulp,run-sequence,Gulp,Run Sequence,我有以下任务正在由Gulp运行 script-a script-b script-c script-a与任务b和c无关(相对而言),运行大约需要5秒钟 script-b和script-c是相关的,因此必须以串行方式运行,每种方式运行大约需要一秒钟 因此,我希望能够将a与b和c并行运行,同时保持后两者的串行运行 我目前正在使用runSequence以串联方式运行它们 gulp.task('script', function(callback) { return runSequence(
script-a
script-b
script-c
script-a
与任务b
和c
无关(相对而言),运行大约需要5秒钟
script-b
和script-c
是相关的,因此必须以串行方式运行,每种方式运行大约需要一秒钟
因此,我希望能够将a
与b
和c
并行运行,同时保持后两者的串行运行
我目前正在使用runSequence以串联方式运行它们
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
)
});
但这似乎只是解决问题的一半。似乎答案应该是显而易见的?您可以尝试在另一个任务中对脚本b和脚本c进行分组,然后在任务
脚本中并行运行。大概是这样的:
// 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
)
});
创建另一个任务来实现我所追求的目标似乎有些过分,但你可能是对的,这可能是唯一的方法。真可惜!赞成。看起来不是更好的解决方案,但很有效。您可以探索Gulp的版本4,它的API中已经有两种方法。但是Gulp 4还没有完成,是的,我已经看过了这些变化——但是我想坚持Gulp的稳定版本——即使这意味着在4最终发布时改变我的任务。