vue项目更新发版,解决用户浏览器缓存问题

上来就干货!

(安卓微信iframe缓存请参考楼主的“套iframe缓存问题”)

vue默认配置,打包后css和js的名字后面都加了哈希值,不会有缓存问题。

但是index.html在服务器端可能是有缓存的,需要在服务器配置不让缓存index.html

location = /index.html {

    add_header Cache-Control "no-cache, no-store";

}

no-cache, no-store可以只设置一个 

no-cache浏览器会缓存,但刷新页面或者重新打开时 会请求服务器,服务器可以响应304,如果文件有改动就会响应200 

no-store浏览器不缓存,刷新页面需要重新下载页面

ps:

1、/index.html 其中/如果是域名根目录,vue打包的时候又指定了域名下的某个文件夹,则/后面还要加上对应的文件夹名,如:


vue项目更新发版,解决用户浏览器缓存问题_第1张图片

location ^~xx/index.html {

    add_header Cache-Control "no-cache, no-store";

}

= 开头表示精确匹配

^~ 开头表示url以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

2、如果index.html引入了static下的文件,为防止打包后存在缓存可以在后面加上时间戳,如

打包后就会变成这样:

vue项目更新发版,解决用户浏览器缓存问题_第2张图片

你可能感兴趣的:(vue项目更新发版,解决用户浏览器缓存问题)