gulp.task()
gulp.task()介绍
提醒: 这个API不再是推荐的模式了 - export your tasks。因此就不翻译了!
在任务系统中定义任务。然后可以从命令行和 series()、parallel() 和 lastRun() api 访问该任务。
Usage
Register a named function as a task:
const { task } = require('gulp');
function build(cb) {
// body omitted
cb();
}
task(build);
Register an anonymous function as a task:
const { task } = require('gulp');
task('build', function(cb) {
// body omitted
cb();
});
Retrieve a task that has been registered previously:
const { task } = require('gulp');
task('build', function(cb) {
// body omitted
cb();
});
const build = task('build');
Signature
task([taskName], taskFunction)
Parameters
If the taskName is not provided, the task will be referenced by the name property of a named function or a user-defined displayName property. The taskName parameter must be used for anonymous functions missing a displayName property.
Since any registered task can be run from the command line, avoid using spaces in task names.
parameter | type | note |
---|---|---|
taskName | string | An alias for the task function within the the task system. Not needed when using named functions for taskFunction . |
taskFunction (required) | function | A task function or composed task - generated by series() and parallel() . Ideally a named function. Task metadata can be attached to provide extra information to the command line. |
Returns
When registering a task, nothing is returned.
When retrieving a task, a wrapped task (not the original function) registered as taskName will be returned. The wrapped task has an unwrap() method that will return the original function.
Errors
When registering a task where taskName is missing and taskFunction is anonymous, will throw an error with the message, "Task name must be specified".
Task metadata
property | type | note |
---|---|---|
name | string | A special property of named functions. Used to register the task. Note: name is not writable; it cannot be set or changed. |
displayName | string | When attached to a taskFunction creates an alias for the task. If using characters that aren't allowed in function names, use this property. |
description | string | When attached to a taskFunction provides a description to be printed by the command line when listing tasks. |
flags | object | When attached to a taskFunction provides flags to be printed by the command line when listing tasks. The keys of the object represent the flags and the values are their descriptions. |
const { task } = require('gulp');
const clean = function(cb) {
// body omitted
cb();
};
clean.displayName = 'clean:all';
task(clean);
function build(cb) {
// body omitted
cb();
}
build.description = 'Build the project';
build.flags = { '-e': 'An example flag' };
task(build);