上一篇文章我們對(duì) Stream 的特性及其接口進(jìn)行了介紹,gulp 之所以在性能上好于 grunt,主要是因?yàn)橛辛?nbsp;Stream 助力來(lái)做數(shù)據(jù)的傳輸和處理。

那么我們不難猜想出,在 gulp 的任務(wù)中,gulp.src 接口將匹配到的文件轉(zhuǎn)化為可讀(或 Duplex/Transform)流,通過(guò) .pipe 流經(jīng)各插件進(jìn)行處理,最終推送給 gulp.dest 所生成的可寫(或 Duplex/Transform)流并生成文件。

本文將追蹤 gulp(v4.0)的源碼,對(duì)上述猜想進(jìn)行驗(yàn)證。

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

為了分析源碼,我們打開(kāi) gulp 倉(cāng)庫(kù)下的入口文件 index.js,可以很直觀地發(fā)現(xiàn),幾個(gè)主要的 API 都是直接引用 vinyl-fs 模塊上暴露的接口的:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

var util = require('util');var Undertaker = require('undertaker');var vfs = require('vinyl-fs');var watch = require('glob-watcher');//略...G
        
		

網(wǎng)友評(píng)論