欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-31 20:35:15
...
服务器已设置了缓存,但是发布版本,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不清楚