摘要:其中最重要的一點(diǎn)著重提出正確的異步執(zhí)行方式使用一個(gè),或者返回一個(gè)或。
2017年2月23日個(gè)人博客文章--遷移到segmentfault
在做項(xiàng)目中,不經(jīng)意間代碼會(huì)寫(xiě)成這個(gè)樣子。
gulp.task("clean",function(){ gulp.src(["./dist","./rev"]) .pipe(clean()) }); gulp.task("build",["clean"],function(){ runSequence("htmlMove",["imageMin","reCollector","btMove","views"],"over") })
那么這就可能會(huì)導(dǎo)致一個(gè)問(wèn)題,因?yàn)檫@個(gè)task:clean不是一個(gè)正確的異步執(zhí)行方式,所以他就會(huì)出現(xiàn)–顯示clean任務(wù)已經(jīng)finished接著他會(huì)執(zhí)行htmMove、imageMin等等一系列任務(wù),但是.pipe(clean())卻還在執(zhí)行,這就造成了邊刪除目錄邊執(zhí)行其他的一系列任務(wù),最終會(huì)因?yàn)檎也坏街敢恍┲付夸洉?huì)報(bào)錯(cuò)。
那么什么是正確的異步執(zhí)行呢?
API文檔給出了詳細(xì)解釋?zhuān)@里不做詳細(xì)介紹。http://www.gulpjs.com.cn/docs...
其中最重要的一點(diǎn)著重提出:
正確的異步執(zhí)行方式:使用一個(gè) callback,或者返回一個(gè) promise 或 stream。
如果你想要?jiǎng)?chuàng)建一個(gè)序列化的 task 隊(duì)列,并以特定的順序執(zhí)行,你需要做兩件事:
給出一個(gè)提示,來(lái)告知 task 什么時(shí)候執(zhí)行完畢,
并且再給出一個(gè)提示,來(lái)告知一個(gè) task 依賴(lài)另一個(gè) task 的完成。
那么針對(duì)剛才的gulp流有以下改進(jìn):
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的話(huà),task和里面的gulp流是異步執(zhí)行的,所以就會(huì)出現(xiàn)先f(wàn)inished在編譯的情況。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/52049.html
摘要:核心概念流流,簡(jiǎn)單來(lái)說(shuō)就是建立在面向?qū)ο蠡A(chǔ)上的一種抽象的處理數(shù)據(jù)的工具。類(lèi)型,設(shè)置輸出路徑以某個(gè)路徑的某個(gè)組成部分為基礎(chǔ)向后拼接。 一、gulp簡(jiǎn)介 1.gulp是什么? gulp是前端開(kāi)發(fā)過(guò)程中一種基于流的代碼構(gòu)建工具,是自動(dòng)化項(xiàng)目的構(gòu)建利器;它不僅能對(duì)網(wǎng)站資源進(jìn)行優(yōu)化,而且在開(kāi)發(fā)過(guò)程中很多重復(fù)的任務(wù)能夠使用正確的工具自動(dòng)完成;使用它,不僅可以很愉快的編寫(xiě)代碼,而且大大提高我們的工...
摘要:核心概念流流,簡(jiǎn)單來(lái)說(shuō)就是建立在面向?qū)ο蠡A(chǔ)上的一種抽象的處理數(shù)據(jù)的工具。類(lèi)型,設(shè)置輸出路徑以某個(gè)路徑的某個(gè)組成部分為基礎(chǔ)向后拼接。 一、gulp簡(jiǎn)介 1.gulp是什么? gulp是前端開(kāi)發(fā)過(guò)程中一種基于流的代碼構(gòu)建工具,是自動(dòng)化項(xiàng)目的構(gòu)建利器;它不僅能對(duì)網(wǎng)站資源進(jìn)行優(yōu)化,而且在開(kāi)發(fā)過(guò)程中很多重復(fù)的任務(wù)能夠使用正確的工具自動(dòng)完成;使用它,不僅可以很愉快的編寫(xiě)代碼,而且大大提高我們的工...
摘要:核心概念流流,簡(jiǎn)單來(lái)說(shuō)就是建立在面向?qū)ο蠡A(chǔ)上的一種抽象的處理數(shù)據(jù)的工具。類(lèi)型,設(shè)置輸出路徑以某個(gè)路徑的某個(gè)組成部分為基礎(chǔ)向后拼接。 一、gulp簡(jiǎn)介 1.gulp是什么? gulp是前端開(kāi)發(fā)過(guò)程中一種基于流的代碼構(gòu)建工具,是自動(dòng)化項(xiàng)目的構(gòu)建利器;它不僅能對(duì)網(wǎng)站資源進(jìn)行優(yōu)化,而且在開(kāi)發(fā)過(guò)程中很多重復(fù)的任務(wù)能夠使用正確的工具自動(dòng)完成;使用它,不僅可以很愉快的編寫(xiě)代碼,而且大大提高我們的工...
摘要:介紹說(shuō)明的包管理器,用于插件管理包括安裝卸載管理依賴(lài)等使用安裝插件命令提示符執(zhí)行插件名稱(chēng)。總結(jié)安裝新建文件全局和本地安裝安裝插件新建文件通過(guò)命令提示符運(yùn)行任務(wù)。 showImg(https://segmentfault.com/img/remote/1460000010873466); 前言 眾所周知目前比較火的工具就是gulp和webpack,但webpack和gulp卻有所不同,本...
摘要:在真正寫(xiě)了一段時(shí)間的基礎(chǔ)組件和基礎(chǔ)工具后,才發(fā)現(xiàn)自動(dòng)化測(cè)試有很多好處。有了自動(dòng)化測(cè)試,開(kāi)發(fā)者會(huì)更加信任自己的代碼。由于維護(hù)測(cè)試用例也是一大筆開(kāi)銷(xiāo)畢竟沒(méi)有多少測(cè)試會(huì)專(zhuān)門(mén)幫前端寫(xiě)業(yè)務(wù)測(cè)試用例,而前端使用的流程自動(dòng)化工具更是沒(méi)有測(cè)試參與了。 本文轉(zhuǎn)載自 天貓前端博客,更多精彩文章請(qǐng)進(jìn)入天貓前端博客查看 前言 為何要測(cè)試 以前不喜歡寫(xiě)測(cè)試,主要是覺(jué)得編寫(xiě)和維護(hù)測(cè)試用例非常的浪費(fèi)時(shí)間。在真正寫(xiě)了...
閱讀 1740·2021-10-18 13:30
閱讀 2622·2021-10-09 10:02
閱讀 2969·2021-09-28 09:35
閱讀 2097·2019-08-26 13:39
閱讀 3529·2019-08-26 13:36
閱讀 1956·2019-08-26 11:46
閱讀 1139·2019-08-23 14:56
閱讀 1700·2019-08-23 10:38