tree()#

获取当前任务依赖关系树 - 在极少数需要的情况下。

通常情况下,tree() 不会被 gulp 消费者使用,但它会被公开,以便 CLI 可以显示 gulpfile 中定义的任务的依赖关系图。

用法#

示例 gulpfile

const { series, parallel } = require('gulp');
function one(cb) {
// 省略主体
cb();
}
function two(cb) {
// 省略主体
cb();
}
function three(cb) {
// 省略主体
cb();
}
const four = series(one, two);
const five = series(four,
parallel(three, function(cb) {
// 正文省略
cb();
})
);
模块.导出 = {,,,,};

tree() 的输出

{
标签: '任务',
节点: [ '一', '二', '三', '四', '五' ]
}

tree({ deep: true }) 的输出

{
标签: "任务",
节点: [
{
标签: "one",
类型: "task",
节点: []
},
{
标签: "two",
类型: "task",
节点: []
},
{
标签: "three",
类型: "task",
节点: []
},
{
标签: "four",
类型: "task",
节点: [
{
标签: "<series>",
类型: "function",
分支: true,
节点: [
{
标签: "one",
类型: "function",
节点: []
},
{
标签: "two",
类型: "function",
节点: []
}
]
}
]
},
{
标签: "five",
类型: "task",
节点: [
{
标签: "<series>",
类型: "function",
分支: true,
节点: [
{
标签: "<series>",
类型: "function",
分支: true,
节点: [
{
标签: "one",
类型: "function",
节点: []
},
{
标签: "two",
类型: "function",
节点: []
}
]
},
{
标签: "<parallel>",
类型: "function",
分支: true,
节点: [
{
标签: "three",
类型: "function",
节点: []
},
{
标签: "<anonymous>",
类型: "function",
节点: []
}
]
}
]
}
]
}
]
}

签名#

tree([选项])

参数#

参数类型备注
选项对象详情见下文选项

返回#

一个对象,详细说明已注册任务的树 - 包含嵌套对象,其中包含 'label''nodes' 属性(与 archy 兼容)。

每个对象可能都有一个 type 属性,该属性可用于确定节点是 task 还是 function

每个对象可能都有一个 branch 属性,当为 true 时,表示该节点是使用 series()parallel() 创建的。

选项#

名称类型默认值备注
深度布尔值false如果为 true,则将返回整个树。如果为 false,则仅返回顶级任务。