gulp.task

gulp.task 用于创建一个gulp任务,第一个参数是任务名称,第二个参数是前置任务,可选填,第三个参数是一个回调,用于放置任务的具体处理流程。

格式:

gulp.task(name[, deps], fn)

name String

任务的名字,可以直接在命令行使用 gulp [name] 执行任务。

deps Array

一个包含任务列表的数组,这些任务会在你当前任务运行之前完成。

注意

一定要确保所依赖的任务列表中的任务都使用了正确的异步执行方式:使用一个 callback,或者返回一个 promise 或 stream。

fn Function

该函数定义任务所要执行的一些操作。通常来说,它会是这种形式:gulp.src().pipe(someplugin())

示例:

// 返回一个 callback,因此系统可以知道它什么时候完成
gulp.task('one', function(cb) {
    // 做一些事 -- 异步的或者其他的
    cb(err); // 如果 err 不是 null 或 undefined,则会停止执行,且注意,这样代表执行失败了
});
// 定义一个所依赖的 task 必须在这个 task 执行之前完成
gulp.task('two', ['one'], function() {
    // 'one' 完成后
});
gulp.task('default', ['one', 'two']);

默认任务

gulp.task('default', () => {});

默认任务名为 default ,执行 gulp 命令的时候默认调用。

任务监听

gulp.task('watch', () => {});

监听任务名为 watch,使用 gulp watch 执行。此任务不会自动终止,一直监听着事件,一旦触发事件则自动调用。

普通任务

创建一个普通任务的基本结构为:

gulp.task(name[, deps], fn)

比如创建一个 less 编译的任务:

gulp.task('build:less', () => {
  gulp
  .src(['src/pages/**/*.less'], { base: 'src' })
  .pipe(less())
  .pipe(
    rename(path => {
      path.extname = '.css'
    })
  )
  .pipe(gulp.dest('dist'))
})

执行此任务只需要使用 gulp build:less ,gulp 后跟任务名称即可。

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress