有一个超级简单的 gulp 文件,我想在其中依次运行一些基本的 gulp 任务。
我似乎无法在 Gulp v4 中运行它。在 Gulp v3 中有类似的东西,使用run-sequence而不是gulp.series()
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'));
Run Code Online (Sandbox Code Playgroud)
各个 gulp 任务clean-app并clean-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?
Run Code Online (Sandbox Code Playgroud)
我认为两者clean-app都clean-tests返回流就足够了。
已尝试使用gulp4-run-sequence 但出现相同的错误。
希望能够在成功完成后执行gulp all-tasks这样的运行。clean-testsclean-app
根据此处的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'));
Run Code Online (Sandbox Code Playgroud)