Gulp 吞咽任务不按顺序工作

Gulp 吞咽任务不按顺序工作,gulp,manifest,gulp-rev,Gulp,Manifest,Gulp Rev,我有4个任务来清理构建、构建样式和Java脚本以及创建资产清单。我的默认任务如下所示: gulp.task('default', function(callback) { runSequence('clean', ['styles', 'scripts'], 'version', callback); }); 因此,这是完美的,但“版本”任务。它不会创造任何东西,也没有任何效果 gulp.task('version', function() { gulp.src(utils.

我有4个任务来清理构建、构建样式和Java脚本以及创建资产清单。我的默认任务如下所示:

gulp.task('default', function(callback) {
    runSequence('clean', ['styles', 'scripts'], 'version', callback);
});
因此,这是完美的,但“版本”任务。它不会创造任何东西,也没有任何效果

gulp.task('version', function() {

    gulp.src(utils.dst('**/*'))

        // create content hashed filenames
        .pipe(rev())
        .pipe(gulp.dest(utils.dst()))

        // create asset manifest
        .pipe(rev.manifest())
        .pipe(gulp.dest(utils.dst()))

});
如果我运行,请将
一饮而尽;吞咽风格;吞咽文字;吞咽版版本任务将创建所需的资产清单

这是运行默认任务的输出:

Starting 'default'...
Starting 'clean'...
Finished 'clean' after 6.87 ms
Starting 'styles'...
Finished 'styles' after 7.63 ms
Starting 'scripts'...
Finished 'scripts' after 2.96 ms
Starting 'version'...
Finished 'version' after 2.25 ms
Finished 'default' after 22 ms
有人看到我犯的错误吗?当我运行版本任务时,可能构建资源还不存在,但这就是为什么我让任务按顺序运行的原因


有什么建议可以解决这个问题吗?

您必须像这样返回流:

gulp.task('version', function() {

    return gulp.src(utils.dst('**/*'))

        // create content hashed filenames
        .pipe(rev())
        .pipe(gulp.dest(utils.dst()))

        // create asset manifest
        .pipe(rev.manifest())
        .pipe(gulp.dest(utils.dst()))

});
否则,gulp无法知道您的任务是否完成

可能重复的