唯品秀前端博客
当前位置: 前端开发 > 前端工具箱 > 通过插件让gulp同步执行任务列表

通过插件让gulp同步执行任务列表

2019-05-06 分类:前端工具箱 作者:管理员 阅读(463)

使用过gulp工具的应该都知道,gulp默认是异步执行任务的,这样可以大大提高运行速度效率,但实际情况我们很多时候需要用到同步,举个场景例子,我现在需要将一个css文件不压缩,一个css文件压缩,然后我将这两个文件去合并,你不用猜疑这个想法很奇怪,存在必有意义。如果你无法接受?那好,我再举个例子,因为在某些情况下,在src开发环境删除一个文件是不会删掉dist文件夹对应的文件的,gulp采用的是覆盖形式,我希望每次压缩打包之前先清空之前的dist生产环境文件夹,然后当清空完毕再执行打包,如何实现?

利用国内的gulp-sequence或国外 run-sequence

在此通过run-sequence举例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const gulp = require('gulp');
const clean = require('gulp-clean');//清空目录下资源
const runSequence = require('run-sequence'); //流程控制,控制任务执行顺序

//清空dist目录
gulp.task("clean", function () {
    console.log('清空dist目录下的资源')
   return gulp.src('dist', {
        read: false
    })
     .pipe(clean({
        force: true
    }));
})

// 拷贝文件
gulp.task("copyHtml", function () {
    //pipe后面对应的地址就是将前面路径文件拷贝复制到哪里去
    console.log('\n正在打包编译中,请稍后......................\n');
    return gulp.src(["src/**", "!src/*.html", "!src/*.css", "!src/js/*", "!src/css/*"]).pipe(gulp.dest('dist'))
});

gulp.task('default',function(){
    //重点来了,通过runSequence咱们把要执行的任务列表包裹起来就OK,并且还自带回调函数,棒棒的
    runSequence("clean", "copyHtml", "Watch",function(){
        console.log('\n恭喜你,编译打包已完成,所有文件在dist文件夹!!!');
    })
});

小结

通过run-sequence插件我们很容易就完成我们想要结果,这个插件用法是不是超级简单呢

「两年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

谢谢你请我吃鸡腿*^_^*

支付宝
微信
0

谢谢你请我吃鸡腿*^_^*

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

共有 0 条评论 - 通过插件让gulp同步执行任务列表

博客简介

唯品秀博客: weipxiu.com,一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,愿景:成为宇宙中最具有代表性的前端博客,期待您的参与,主题源码 

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 235 篇
  • 草稿数目: 0 篇
  • 分类数目: 14 个
  • 独立页面: 6 个
  • 评论总数: 936 条
  • 链接总数: 13 个
  • 标签总数: 424 个
  • 建站时间: 1010 天
  • 注册用户: 2228 人
  • 访问总量: 8925130 次
  • 最近更新: 2019年9月19日
服务热线:
 173xxxx7240

 QQ在线交流

 旺旺在线