首页 > 解决方案 > 如何检查任务是否作为 gulp@4 中另一个任务的依赖项运行?

问题描述

我用来gulp-notify在任务完成时触发通知。如果任务是独立运行的,则会触发该特定任务的通知。如果一个任务作为另一个任务的依赖项运行,则会触发所有依赖项的通知。

在 gulp@3 中,我使用 来检查任务是否作为依赖项被调用gulp.seq,其中包含正在运行的任务数组。假设我有三个任务:defaultstylesscripts,后两个设置为第一个的依赖项。运行时gulp stylesgulp.seq将包含[ 'styles' ]. 运行时gulp(默认任务),gulp.seq将包含[ 'styles', 'scripts', 'default' ]. 知道这一点后,我检查了gulp.seq.indexOf("styles") > gulp.seq.indexOf("default"),它告诉我天气styles是否作为default任务的一部分运行。

使用 gulp@4,似乎gulp.seq不再存在。我试过挖掘文档和源代码,但没有运气。看起来gulp.tree({ deep:true })( docs ) 可能是我正在寻找的东西,但我没有看到任何返回任何有用的东西。

gulp.seq在 gulp@4 中是否有等价物?

标签: gulpgulp-4

解决方案


幸运的是,我发现这可以通过我已经安装的模块yargs实现。

gulp styles例如,在运行时,我可以检查argv._.indexOf("styles") > -1,因为它包含['styles']. 运行时gulp(即默认任务),它包含[]. 在我的测试中,这非常适合我的用例。


推荐阅读