为了演示流控制,简单实现了注入插件 gulp-aop
gulp = require "gulp"concat = require "gulp-concat"aop = require "gulp-aop"gulptask "default"->gulpsrc "test/a.js""test/b.js"pipe concat "t.min.js"pipe aop: -> consolelog 'Inject to the head': -> consolelog 'Inject to the end'pipe gulpdest "./test"
了解 gulp 流控制之前先了解下 nodeJS 的流
nodeJS里有四种类型的流:Readable,Writable,Duplex,Transform
Readable: 可读流
Writable: 可写流
Duplex: 双工流
Transform: 转换流
跟 Gulp 相关的主要是转换流
gulp 流控制一般用如下两种方式
var through = ;module {var stream =;stream;return stream;};
var through = ;var fs = ;module {var aopHeader = "(" + optheader || {} + "());";var aopFooter = "(" + optfooter || {} + "());";{if filethis;return ;if filethis;return ;if filefilecontents = aopHeader + filecontents + aopFooter;this;;}{// 这里可以做些收尾工作;}return through;};
编写自己的 Gulp 插件,流控制是基础。