task()#

提醒:此 API 不再是推荐模式 - 导出您的任务

在任务系统中定义任务。然后,可以通过命令行和 series()parallel()lastRun() API 访问该任务。

用法#

将命名函数注册为任务

const { task } = require('gulp');
function build(cb) {
// 省略主体
cb();
}
task(build);

将匿名函数注册为任务

const { task } = require('gulp');
task('build', function(cb) {
// 省略主体
cb();
});

检索先前已注册的任务

const { task } = require('gulp');
task('build', function(cb) {
// 省略主体
cb();
});
const 构建 = 任务('构建');

签名#

任务([任务名称], 任务函数)

参数#

如果未提供 taskName,则任务将由命名函数的 name 属性或用户定义的 displayName 属性引用。对于缺少 displayName 属性的匿名函数,必须使用 taskName 参数。

由于可以从命令行运行任何已注册的任务,因此请避免在任务名称中使用空格。

参数类型备注
taskName字符串任务系统内任务函数的别名。在为 taskFunction 使用命名函数时不需要。
taskFunction
(必需)
函数任务函数或组合任务 - 由 series()parallel() 生成。理想情况下是命名函数。可以附加任务元数据以向命令行提供额外信息。

返回#

注册任务时,不会返回任何内容。

检索任务时,将返回一个包装的任务(不是原始函数),该任务已注册为 taskName。包装的任务有一个 unwrap() 方法,该方法将返回原始函数。

错误#

注册任务时,如果 taskName 缺失且 taskFunction 是匿名的,将会抛出一个错误,其消息为“必须指定任务名称”。

任务元数据#

属性类型备注
名称字符串命名函数的特殊属性。用于注册任务。
注意: name 不可写;它不能被设置或更改。
displayName字符串当附加到 taskFunction 时,为任务创建一个别名。如果使用函数名称中不允许的字符,请使用此属性。
description字符串当附加到 taskFunction 时,提供一个描述,以便在列出任务时由命令行打印。
flagsobject当附加到 taskFunction 时,提供在列出任务时由命令行打印的标志。该对象的键表示标志,值是其描述。
const { task } = require('gulp');
const clean = function(cb) {
// 省略主体
cb();
};
clean.displayName = 'clean:all';
task(clean);
function build(cb) {
// 省略主体
cb();
}
build.description = 'Build the project';
build.flags = { '-e': 'An example flag' };
task(build);