吞咽过程任务的顺序是什么?

时间:2014-11-04 17:27:06

标签: gulp

我对使用Gulp完成任务的顺序感到有点困惑。请允许我解释一下。

在gulpfile.js中,我拥有所有必需的依赖项,后跟一组任务。

每个子任务的基本模板是

gulp.task('compress:customName', function() {
    return gulp.src(['app/folder/file.js', 'app/folder/file.js'])
        .pipe(gp_concat('app.customName.min.js'))
        .pipe(gp_uglify())
        .pipe(gulp.dest(distDir));
});

然后,我有一个统治他们所有的任务

gulp.task('compress:all', [
    'compress:customName1', 
    'compress:customName2', 
    'etc...'
], function() {});

然后再增加一个主任务运行器(仅使用compress:本例中为all)

gulp.task('master', ['compress:all'], function() {
    return gulp.src('dist/*.js')
        .pipe(notify("COMPRESSION COMPLETE"));
});

好的......那是基本设置......现在谈谈按命令行结果完成这些任务的顺序。

[11:06:44] Using gulpfile C:\PATH\TO\PROJECT\gulpfile.js
[11:06:44] Starting 'compress:customName1'...
[11:06:44] Starting 'compress:customName2'...
[11:06:44] Starting 'compress:customName3'...
[11:06:44] Starting 'compress:customName4'...
[11:06:44] Starting 'compress:customName5'...
[11:06:44] Starting 'compress:customName6'...
[11:06:44] Starting 'compress:customName7'...
[11:06:44] Finished 'compress:customName1' after 108 ms
[11:06:44] Finished 'compress:customName6' after 93 ms
[11:06:44] Finished 'compress:customName5' after 132 ms
[11:06:44] Finished 'compress:customName4' after 139 ms
[11:06:44] Finished 'compress:customName3' after 233 ms
[11:06:44] Finished 'compress:customName2' after 245 ms
[11:06:44] Finished 'compress:customName7' after 381 ms
[11:06:44] Starting 'compress:all'...
[11:06:44] Finished 'compress:all' after 6.64 µs
[11:06:44] Starting 'master'...
[11:06:44] gulp-notify: [SO EXAMPLE : Gulp Builder] COMPRESSION COMPLETE
[11:06:44] Finished 'master' after 40 ms

如何掌握'是开始和开始的最后一项任务'压缩:全部'?

为什么完成的任务以这样的随机顺序显示?

为什么这样做'掌握'据说在考虑自己完成之前它应该等待它调用的所有子任务才能在40毫秒内完成?

1 个答案:

答案 0 :(得分:0)

  

如何掌握'是开始和开始的最后一项任务'压缩:全部'?

在实际任务开始之前运行依赖关系。 '压缩:所有的'依赖于' master'。

  

为什么完成的任务以这样的随机顺序显示?

依赖关系是并行运行的,即一个完成时仅取决于完成一个的时间。

  

为什么这样做'掌握'据说在考虑自己完成之前它应该等待它调用的所有子任务才能在40毫秒内完成?

任务的完成时间中不包含依赖项。


" deps - 在您的任务运行之前要执行和完成的一系列任务。"

https://github.com/gulpjs/gulp/blob/master/docs/API.md#deps