【发布时间】:2017-01-23 01:48:46
【问题描述】:
尝试研究https://github.com/jhades/angularjs-gulp-example/blob/master/gulpfile.js,我注意到对于任务build,有一个依赖关系clean。但是,对于大多数其他定义,clean 也被指定为依赖项!因此,如果我运行build,它将运行clean,但是build-css 和build-template-cache 也有clean 依赖项等等......它是否也会为每个运行clean依赖?所以基本上将运行一个命令gulp build 最终运行clean 不止一次...清除其他依赖项的输出...或者将运行clean 第一次显式满足其他依赖项的依赖项并阻止clean再次运行!?
任何指针将不胜感激。
请注意
我不是在问正确的清洁技术是什么!我特别询问我发布的链接......以及它如何处理clean 任务。
【问题讨论】:
-
@Claies 我简要阅读了链接...所以,谢谢。但是,我不是在问如何正确清理项目。我的问题专门与我发布的链接有关......以及它如何处理清洁。我只需要了解它的流程......因为它显然运行良好。
-
基本上,构建是在管道中完成的,但
clean不是管道的一部分。因为clean作为每个任务的依赖被调用,它必须在任务运行之前完成,但是每个任务然后返回一个promise对象。最终效果是清理都在链条的前端运行。 -
如果您碰巧使用
watch来触发那些依赖于clean的任务之一,那么真正发生的唯一冲突会导致clean在监视期间启动,并可能删除不需要的文件,这是我引用的链接中发生的问题。 -
@Claies 我明白了。谢谢。