资讯专栏INFORMATION COLUMN

GULP自动化项目构建之–正确的异步执行方式(RETURN)

frank_fun / 1218人阅读

摘要:其中最重要的一点着重提出正确的异步执行方式使用一个,或者返回一个或。

2017年2月23日个人博客文章--迁移到segmentfault
在做项目中,不经意间代码会写成这个样子。

gulp.task("clean",function(){
    gulp.src(["./dist","./rev"])
        .pipe(clean())
});
gulp.task("build",["clean"],function(){
    runSequence("htmlMove",["imageMin","reCollector","btMove","views"],"over")
})

那么这就可能会导致一个问题,因为这个task:clean不是一个正确的异步执行方式,所以他就会出现–显示clean任务已经finished接着他会执行htmMove、imageMin等等一系列任务,但是.pipe(clean())却还在执行,这就造成了边删除目录边执行其他的一系列任务,最终会因为找不到指一些指定目录会报错。

那么什么是正确的异步执行呢?

API文档给出了详细解释,这里不做详细介绍。http://www.gulpjs.com.cn/docs...

其中最重要的一点着重提出:

正确的异步执行方式:使用一个 callback,或者返回一个 promise 或 stream。

如果你想要创建一个序列化的 task 队列,并以特定的顺序执行,你需要做两件事:

给出一个提示,来告知 task 什么时候执行完毕,
并且再给出一个提示,来告知一个 task 依赖另一个 task 的完成。
那么针对刚才的gulp流有以下改进:

gulp.task("clean",function(){
    return gulp.src(["./dist","./rev"])
        .pipe(clean())
});
gulp.task("build",["clean"],function(){
    runSequence("htmlMove",["imageMin","reCollector","btMove","views"],"over")
})

加上return,不加return的话,task和里面的gulp流是异步执行的,所以就会出现先finished在编译的情况。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/52049.html

相关文章

  • gulp详细基础教程

    摘要:核心概念流流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。类型,设置输出路径以某个路径的某个组成部分为基础向后拼接。 一、gulp简介 1.gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,不仅可以很愉快的编写代码,而且大大提高我们的工...

    vibiu 评论0 收藏0
  • gulp详细基础教程

    摘要:核心概念流流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。类型,设置输出路径以某个路径的某个组成部分为基础向后拼接。 一、gulp简介 1.gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,不仅可以很愉快的编写代码,而且大大提高我们的工...

    张金宝 评论0 收藏0
  • gulp详细基础教程

    摘要:核心概念流流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。类型,设置输出路径以某个路径的某个组成部分为基础向后拼接。 一、gulp简介 1.gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,不仅可以很愉快的编写代码,而且大大提高我们的工...

    xuhong 评论0 收藏0
  • gulp和webpack入门介绍

    摘要:介绍说明的包管理器,用于插件管理包括安装卸载管理依赖等使用安装插件命令提示符执行插件名称。总结安装新建文件全局和本地安装安装插件新建文件通过命令提示符运行任务。 showImg(https://segmentfault.com/img/remote/1460000010873466); 前言 众所周知目前比较火的工具就是gulp和webpack,但webpack和gulp却有所不同,本...

    hsluoyz 评论0 收藏0
  • 聊一聊前端动化测试

    摘要:在真正写了一段时间的基础组件和基础工具后,才发现自动化测试有很多好处。有了自动化测试,开发者会更加信任自己的代码。由于维护测试用例也是一大笔开销毕竟没有多少测试会专门帮前端写业务测试用例,而前端使用的流程自动化工具更是没有测试参与了。 本文转载自 天猫前端博客,更多精彩文章请进入天猫前端博客查看 前言 为何要测试 以前不喜欢写测试,主要是觉得编写和维护测试用例非常的浪费时间。在真正写了...

    wthee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<