gulp-cached让你的gulp不再慢如牛

老项目,使用gulp来管理基础的js、css生成和打包的。其中开发模式下的gulp watch模式,效能一直都不是很高,尤其是当你的项目、代码中碎片式的代码比较多——所谓碎片式即较多的零散文件构成。

通过使用gulp-print,可以发现,传统的gulp-wacth,是不会管你当前更新的是哪个文件,总之,当你告诉他监控某个目录,那么当这个目录里有某个文件更新了,他就会一次性的把目录下的文件全部执行一次task,真的很呆……

现在,你可以使用gulp-cached这个组件,他的源代码其实也很简单,就是将构建过的文件,生成一个hash,缓存在内存中,直到这个文件被更新,则只更新这个文件,而不再会一次性重新构建全部监控文件。

npm install gulp-cached --save-dev

调用也很简单:

// gulp 其他的引用省去
var cached = require('gulp-cached');
var print = require('gulp-print');

gulp.task('esx-component', function() {
	gulp.src(esxSrc)
	    .pipe(cached('esx-component'))
	    .pipe(print())
	    .pipe(babel({
		    presets: ['react', 'es2015'],
		    plugins: [
			    "transform-es2015-block-scoping",
			    "transform-class-properties",
			    "transform-es2015-computed-properties",
			    "transform-es2015-modules-amd"
		    ]
	    }))
	    .pipe(gulp.dest('./public/js/component'));
});

以下是使用前,每次改个文件,就要整个src的源都要重新构建:

182304_r9pJ_57579.png

以下是使用后,修改某个文件,只会更新当前的文件:

182359_l4pL_57579.png

转载于:https://my.oschina.net/janpoem/blog/706558

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值