gulp构建项目(四):run-sequence实现逐个执行任务

一、gulp.task()说明

1、gulp任务是异步运行的,默认将并行运行所有任务;任务中的步骤也是异步的,因此各个步骤也是并行的。
2、我们的任务需要依次逐个执行,前面的文章有提到过这种需求,比如:刷新浏览器,包括后续要讲到的的生成版本号的任务都需要在其他任务执行完毕之后,再执行。
3、解决:引入run-sequence模块。

二、安装run-sequence

npm i -D run-sequence

三、run-sequence参数说明

/**
*   @param task     可接多个任务,也可以是数组,将依次执行task1、task2,如果task2里面包含多个任务,则这些任务将一起被执行
*   @param callback 回调
*/

runSequence(task1, [task2, callback])

四、run-sequence使用

var runSequence = require('run-sequence');  // 按顺序执行task

gulp.task('default', function(cb) {
    runSequence(
        ['clean'],  // 首先清理文件,否则会把新打包的文件清掉
        ['html', 'js_libs', 'js_main', 'css_libs', 'css_main', 'images'], // 不分先后的任务最好并行执行,提高效率
        ['browser', 'watch'], // 所有文件打包完毕之后启动服务打开浏览器
        cb);
});

注意:监听任务使用runSequence时不要带cb参数

gulp.task('watch', function () {
    w('./src/**/*.html', 'html');
    w('./src/js/**', 'js_main');
    w('./src/libs/**/*.js', 'js_libs');
    w('./src/css/**', 'css_main');
    w('./src/images/**', 'images');

    function w(path, task){
        watch(path, function () {
            /**
          	* 打包完成后,再刷新浏览器
          	* 监听任务不要带cb参数,否则会报错:回调次数太多
          	*/
            runSequence(task, 'browser_reload');
        });
    }
});

五、执行gulp命令,效果如下

在这里插入图片描述
.

项目地址(别忘了给星哦)

https://github.com/shiguang0116/gulp-project

相关文章

gulp构建项目(一):环境准备及项目基础结构搭建
gulp构建项目(二):browser-sync启本地服务并开启浏览器
gulp构建项目(三):gulp-watch监听文件改变、新增、删除
gulp构建项目(四):run-sequence实现逐个执行任务
gulp构建项目(五):gulp-if条件判断及环境变量设置
gulp构建项目(六):gulp-html-tpl处理公用模板
gulp构建项目(七):gulp-uglify压缩js以及检查js语法错误
gulp构建项目(八):gulp编译less,添加CSS前缀以及压缩css
gulp构建项目(九):gulp-imagemin压缩图片及gulp-cache缓存
gulp构建项目(十):gulp-rev-collector-dxb添加版本号(?hash)
gulp构建项目(十一):gulp-htmlmin压缩html
gulp构建项目(十二):gulp-babel编译es6
gulp构建项目(十三):babel-polyfill编译es6新增api
gulp构建项目(十四):gulp-rename重定义打包生成文件的路径
.
gulp构建项目(附录一):gulp发生错误时,进程挂掉的问题

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值