Skip to content

gulp

public task / private task

无论是 public task 还是 private task ,都可以被 series()

js
const { series } = require("gulp");

// clean 是私有任务
function clean(cb) {
  // ...
  cb();
}

// build 是公有任务,因为被 exports 。
// build 可以被 `gulp` command 调用
function build(cb) {
  // ...
  cb();
}

exports.build = build;
exports.default = series(clean, build);

task 组合

series

任务串行执行

js
const { series } = require("gulp");

function transpile(cb) {
  // body omitted
  cb();
}

function bundle(cb) {
  // body omitted
  cb();
}

exports.build = series(transpile, bundle);

parallel

任务并行执行

js
const { parallel } = require("gulp");

function javascript(cb) {
  // body omitted
  cb();
}

function css(cb) {
  // body omitted
  cb();
}

exports.build = parallel(javascript, css);

嵌套

没有深度限制

js
exports.build = series(
  clean,
  parallel(cssTranspile, series(jsTranspile, jsBundle)),
  parallel(cssMinify, jsMinify),
  publish
);