如何在gulp4中使用gulp.series?

How to use gulp.series in gulp 4?

有一个超级简单的 gulp 文件,我想在其中 运行 一些基本的 gulp 任务一个接一个地执行。

我似乎无法在 Gulp v4 中得到这个 运行ning。使用 run-sequence 而不是 gulp.series()

在 Gulp v3 中有类似的东西
const gulp = require("gulp");
const clean = require('gulp-clean');

gulp.task('clean-app', async () => {
  return (gulp.src('./dist/app', {read: true, allowEmpty: true})
    .pipe(clean()));
});


gulp.task('clean-tests', async () => {
  return ( gulp.src('./dist/tests', {read: true, allowEmpty: true})
    .pipe(clean()));
});

gulp.task('all-tasks', gulp.series('clean-app', 'clean-tests'));

个人 gulp 任务 clean-appclean-tests 运行 单独完成。

但是,当我使用 gulp all-tasks 时,出现以下错误

gulp all-tasks
[17:50:51] Using gulpfile ~\IdeaProjects\my-app\gulpfile.js
[17:50:51] Starting 'all-tasks'...
[17:50:51] Starting 'clean-app'...
[17:50:51] Finished 'clean-app' after 10 ms
[17:50:51] The following tasks did not complete: all-tasks
[17:50:51] Did you forget to signal async completion?

clean-appclean-tests return 我认为就足够了。

曾尝试使用 gulp4-run-sequence,但我遇到了同样的错误。

希望能够 运行 gulp all-tasks 以便 clean-testsclean-app 成功完成后执行。

根据官方文档here尝试在你的任务中运行cb()

const gulp = require("gulp");
const clean = require('gulp-clean');

gulp.task('clean-app', (cb) => {
  gulp.src('./dist/app', {read: true, allowEmpty: true}).pipe(clean());
  cb();
});

gulp.task('clean-tests', (cb) => {
  gulp.src('./dist/tests', {read: true, allowEmpty: true}).pipe(clean());
  cb();
});

gulp.task('all-tasks', gulp.series('clean-app', 'clean-tests'));