将 Gulp 从 3 更新到 4.0.2 任务后 运行 的顺序不正确

After updating Gulp from 3 to 4.0.2 tasks not running in correct sequence

//最初我使用的是 Gulp V3,代码片段如下:

gulp.task('b',function(){
  return (//something)
});

gulp.task('a',['b'],function(){
return gulp.src (//do something)
});

这是 运行 如下调用 gulp a:

我将 gulp 文件更新为 v4 并更新了代码片段,如下所示: Gulp v4:

 gulp.task('b',function(){
      return (//something)
    });

gulp.task('a',gulp.series('b'),function a(){
return gulp.src (//do something)
});

但是任务 运行 现在如下:

从我浏览过的众多博客中,他们都提到 'b' 任务应该首先完成。 我不明白为什么 'a' 任务首先被拾起,这与我预期的不一样。 任何人都可以指导吗? 我也希望 'b' 任务完成,然后 'a' 任务开始。 感谢帮助。

谢谢马克。在查看您的评论后,我现在更新了我的 gulp 文件,如下所示: Gulp v4:

gulp.task('a',gulp.series('b',function a(){
return gulp.src (//do something)
}));

然而,任务 运行 现在如下调用 gulp a:

谢谢马克。为了清楚起见,我将该函数重命名为 a1:

gulp.task('b',function(){
      return (//something)
    });
gulp.task('a',gulp.series('b',function a1(){
return gulp.src (//do something)
}));

我想让 b 先开始和结束。你能帮忙如何得到它吗?这目前给出:

这仍然不正确 gulp v4 语法:

gulp.task('a',gulp.series('b'),function a(){
  return gulp.src (//do something)
});

gulp.task 只接受 两个 个参数,而不是你的三个。试试这个:

gulp.task('a', gulp.series('b', function () {
  return gulp.src (//do something)
}));