Home >Backend Development >PHP Tutorial >javascript - web项目发版如何解决静态资源JS CSS 缓存问题

javascript - web项目发版如何解决静态资源JS CSS 缓存问题

WBOY
WBOYOriginal
2016-06-06 20:21:041577browse

服务器已设置了缓存,但是发布版本,JS CSS 如果有修改,没有加版本号,如果客户端的浏览器不强制清除所有缓存,还是使用的旧的缓存资源。如何解决静态资缓存本问题?

YII2 使用的是这样的思路吗?每次都检测JS CSS文件的最后修改时间?
如果跟缓存文件的一样,那么不重新生成,否则重新生成缓存的JS CSS文件?

回复内容:

服务器已设置了缓存,但是发布版本,JS CSS 如果有修改,没有加版本号,如果客户端的浏览器不强制清除所有缓存,还是使用的旧的缓存资源。如何解决静态资缓存本问题?

YII2 使用的是这样的思路吗?每次都检测JS CSS文件的最后修改时间?
如果跟缓存文件的一样,那么不重新生成,否则重新生成缓存的JS CSS文件?

yii的方案就很好,一般都是通过加版本号解决

可以看看laravel的实现。在elixir那部分。原理是读取一个映射文件。这个文件是gulp生成的

用gulp-rev-hash来通过hash区分。

可以使用fis3.为资源文件加md5后缀做区分

md5生产摘要,,作为文件的后缀。。gulp/grunt或者webpack都用相应的方法解决

1、版本号
2、hash命名

建议你看看这个
https://www.zhihu.com/question/20790576
解决方案上推荐fis~不过RoR,Django这种也都有自己的解决方案,yii2不清楚

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php怎么去掉数组键名Next article:用php怎么实现oauth2