gulp - 如何检查任务是否作为 gulp@4 中另一个任务的依赖项运行?
问题描述
我用来gulp-notify
在任务完成时触发通知。如果任务是独立运行的,则会触发该特定任务的通知。如果一个任务作为另一个任务的依赖项运行,则会触发所有依赖项的通知。
在 gulp@3 中,我使用 来检查任务是否作为依赖项被调用gulp.seq
,其中包含正在运行的任务数组。假设我有三个任务:default
、styles
和scripts
,后两个设置为第一个的依赖项。运行时gulp styles
,gulp.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 中是否有等价物?
解决方案
幸运的是,我发现这可以通过我已经安装的模块yargs实现。
gulp styles
例如,在运行时,我可以检查argv._.indexOf("styles") > -1
,因为它包含['styles']
. 运行时gulp
(即默认任务),它包含[]
. 在我的测试中,这非常适合我的用例。
推荐阅读
- flutter - 显示 CircularProgressBar 时控制页面视图滚动
- javascript - 从javascript中删除父节点
- php - Yii2 视图未渲染。返回主视图
- javascript - 响应式菜单 (mmenu) 导致高 CLS
- c# - 为什么 fastJSON 反序列化在单元测试中完成,但一个属性及其属性在活动时未填充?
- unity3d - 用户可以在 Agora Unity SDK 中同时加入多个视频频道吗?
- ios - Xamarin iOS Shell FlyoutMenu 无法正确呈现
- javascript - 获取当前年份以及从 1901 年到当前年份的年份列表
- reactjs - 我如何知道哪个 React 事件的参数具有哪个 TypeScript 类型?
- maven - 是否可以告诉dependabot根本不连接到中央maven