深入阅读gulp源码小结
gulp源码简介
gulp源码核心部分寥寥60+行。但是通过这60+行代码,gulp给我们带来的确是前端自动化构建的便利。以往以为其源码肯定蛮复杂,
却没想到却是这么60+行,这60+行的背后,是来自于模块化的支撑。
gulp的四个接口分别来源于orchestrator
,vinyl-fs
两个模块。
所以gulp的所有特性都来自于这两个模块。
Orchestrator
是用来任务管理,以及发布一些事件,vinyl-fs
则提供代表gulp灵魂的流式文件系统。
研究清楚了这两个模块,也就了解了gulp。
gulp.task = Gulp.prototype.task = Gulp.prototype.add;
Gulp.prototype.src = vfs.src;
Gulp.prototype.dest = vfs.dest;
Gulp.prototype.watch = function(glob, opt, fn) { ... return vfs.watch(glob, opt, fn);};
同时gulp本身是直接继承于Orchestrator
模块。
function