• gulp怎么按顺序执行任务 使用了gulp-sequence还是不能控制执行顺序


    gulp怎么按顺序执行任务,

    1、每个任务添加依赖任务

    2、使用gulp-sequence插件,插件的使用参考:https://github.com/teambition/gulp-sequence

    解决这个问题时碰到一个坑:gulp任务是异步的,task写法上可以省略return,但在需要同步执行任务时,这个return是不能省略的。

    不知道这个知识点,让我浪费了整整一天时间。。。

    每个任务添加依赖任务:

    // webappRest
    gulp.task('webappRest', ['clearBuild'],function(){
        // 这个return不能省略的
        return gulp.src([ 
            inputSrcApp+'**/*',
            '!'+inputSrcApp+'**/*.{css,html,js,jsp}'
        ])
            .pipe(gulp.dest('./build/'))
    });
    
    // clearBuild 清除build目录
    gulp.task('clearBuild',function(){
        return gulp.src('build',{read: false})
            .pipe(clean())
    });
    
    // clearRev 清除rev(js与css映射表)目录
    gulp.task('clearRev',['webappRest'],function(){
        return gulp.src('build/rev',{read: false})
            .pipe(clean())
    });
    
    //执行default任务就可以实现:按clearBuild,webappRest,clearRev的顺序来同步执行
    gulp.task('default',['clearRev');
    

    使用gulp-sequence插件的写法:

    // --------由于篇幅原因此处省略了多个任务--------
    
    // webappRest
    gulp.task('webappRest', function(){
        return gulp.src([
            inputSrcApp+'**/*',
            '!'+inputSrcApp+'**/*.{css,html,js,jsp}'
        ])
            .pipe(gulp.dest('./build/'))
    });
    
    // clearBuild 清除build目录
    gulp.task('clearBuild',function(){
        return gulp.src('build',{read: false})
            .pipe(clean())
    });
    
    // clearRev 清除rev(js与css映射表)目录
    gulp.task('clearRev',function(){
        return gulp.src('build/rev',{read: false})
            .pipe(clean())
    });
    
    //每个同步执行的任务组用[]包起来,用逗号隔开
    //[]里面的任务将会异步执行
    var gulpSequence = require('gulp-sequence');
    gulp.task('buildoverlays',
        gulpSequence(
            ['overlaysRestJs','overlaysRestCss'],
            ['overlaysLib','overlaysRestOther'],
            'overlaysHtml'
        )
    );
    

      

  • 相关阅读:
    Form表单提交数据的几种方式
    前端基础-HTML
    python入门函数详解
    Python作业编写
    Python入门数据类型详解
    Jquery选择器
    做外链接和有外链接区别
    三层架构
    drop,delete,truncate区别
    run()和star()区别
  • 原文地址:https://www.cnblogs.com/aredleave/p/7749761.html
Copyright © 2020-2023  润新知