阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

    教程列表

    数据库
    抓包专区
    测试专区

    Gulp task 任务重构

    任务重构

    当一个组合操作执行时,这个组合中的每一个任务每次被调用时都会被执行。

    例如,在两个不同的任务(task)之间调用的 clean 任务(task)将被执行两次,并且将导致不可预期的结果。

    因此,最好重构组合中的 clean 任务(task)。

    如果你有如下代码:

    // This is INCORRECT
    const { series, parallel } = require('gulp');
    const clean = function(cb) {
      // body omitted
      console.log('clean');
      cb();
    };
    const css = series(clean, function(cb) {
      // body omitted
      console.log('css');
      cb();
    });
    const javascript = series(clean, function(cb) {
      // body omitted
      console.log('javascript');
      cb();
    });
    exports.default = parallel(css, javascript);
    

    重构为:

    const { series, parallel } = require('gulp');
    function clean (cb) {
        // body omitted
        console.log('clean');
        cb();
    }
    function css (cb) {
        // body omitted
        console.log('css');
        cb();
    }
    function javascript (cb) {
        // body omitted
        console.log('javascript');
        cb();
    }
    exports.default = series(clean, parallel(css, javascript));
    

    https://a.axihe.com/npm/gulp/WX20200614-180634.png

    任务可以嵌套任意深度

    series()parallel() 可以被嵌套到任意深度。

    const { series, parallel } = require('gulp');
    
    function clean(cb) {
      // body omitted
      cb();
    }
    
    function cssTranspile(cb) {
      // body omitted
      cb();
    }
    
    function cssMinify(cb) {
      // body omitted
      cb();
    }
    
    function jsTranspile(cb) {
      // body omitted
      cb();
    }
    
    function jsBundle(cb) {
      // body omitted
      cb();
    }
    
    function jsMinify(cb) {
      // body omitted
      cb();
    }
    
    function publish(cb) {
      // body omitted
      cb();
    }
    
    exports.default = series(
      clean,
      parallel(
        cssTranspile,
        series(jsTranspile, jsBundle)
      ),
      parallel(cssMinify, jsMinify),
      publish
    );
    
    
    卖前端学习教程

    只需几十元,就能买到培训班的内部教程!开启高薪之路!

    零基础小白阿里P7的教程都有!

    同时长期收购所有培训班的前端教程

    目录
    目录