gulp在运行之前如何解决依赖关系?

前端之家收集整理的这篇文章主要介绍了gulp在运行之前如何解决依赖关系?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设有四个任务’a’,’b’,’c’,’d'(b取决于c和d; c和d都依赖于a),因此任务按以下顺序运行:

A-> (c,d) – > b

这是相应的gulpfile.js:

gulp.task('a');
gulp.task('c',['a']);
gulp.task('d',['a']);
gulp.task('b',['c','d']);

尽管任务’c’和’d’都依赖于任务’a’,但gulp足够聪明,任务’a’只运行一次.我想知道,因为任务以最大并发运行,gulp如何在运行之前解决依赖关系?

解决方法

记录它的一种更好的方法是“gulp(orchestrator)在考虑所有指定的依赖关系之后以最大可能的并发性运行.”

那么在你的场景中,c和d实际上是“并行”运行吗?嗯,是的,不.因为JavaScript是单线程的,所以从技术上讲,处理器可以执行c或d,但不能同时执行两者. Gulp(orchestrator)将启动a,等待它完成,然后启动c和d,并等待两者完成,然后启动b.

如果任务c和d完全异步,您将看到两者同时执行. (注意gulp定时输出交织在一起.)如果任务是完全同步的,从技术上讲,它们不会“并行”运行……只是因为JavaScript是单线程的.

这是最大可能的并发性,可以计算所有指定的限制.

原文链接:https://www.f2er.com/js/150471.html

猜你在找的JavaScript相关文章