之前用项目用gulp进行前端的构建,用到压缩图片插件gulp-imagemin, 后来发现每次发布图片每次都压缩一遍,太慢了 ,所以用了gulp-cache,原来10来分钟的事情,几十秒就搞定了。用了小半年,一直也没什么问题。
gulp-cache的原理是 监控到图片被改变了,替换了,才去压缩。在一般的使用场景都不会有问题,
但如果仅仅是改变了图片名字,则不会被替换。
eg: 把2016.png改成2017.png,压缩出来的结果图片为2016.png。
所以遇到特殊情况,得清理下缓存
gulp.task('cleanCash', function (done) {
return cache.clearAll(done);
});
还有一种情况可以从侧面避免这种问题,在执行压缩图片前,先执行一次整体文件的copy。2017.png自然会过去,但没有经过压缩。此方法只能避免问题,不能解决问题