为文件名加MD5戳,实现静态资源的强缓存

加MD5戳简单,关键是我们需要弄明白为什么要加上它。

想一下新版本上线时候我们是怎么做的,替换文件是不是,记得我们之前做的优化吗,CDN、浏览器缓存Etag标签等等。所以问题就来了,如何让新版本上线时,这些缓存也随之失效,同时也不能因为一时的更新影响牺牲缓存的效果。

既然两个问题有矛盾,不如转变思路,我们不改变缓存策略,反而我还要更强的缓存,只要每次更新都给相应的文件换一个名字,所以就有了我们在文件名后加MD5戳的方法了。而且加上MD5之后,我们更新就不再是替换文件了,所以我们能先上JS、CSS再上HTML,这样就避免了HTML更新了CDN还没更新而产生的间隔。

当然你可能还会问为什么不能加时间戳,因为有时候我们改了文件的注释或者加个空格,压缩之后的文件并不会改变,所以还是MD5更为靠谱些。

使用Gulp加MD5戳 gulp-rev 对文件名加MD5后缀 gulp-rev-collector 路径替换

拓展阅读 1.为什么推荐MD5不推荐时间戳?

Licensed under CC BY-NC-SA 4.0