微信公众号 h5 页面缓存问题

1,662 阅读1分钟

问题描述

微信的h5页面,会缓存页面,即使更新了代码,预览到的还是之前的页面;得用户手动操作刷新才能浏览最新版本问题。

缓存原理

vue打包的话,js | css | png/jpg 等文件名都加上了hash值。但是index.html文件并没有,index.html是一个主入口,里面加载的是js等其他文件。就是缓存了这个html文件,去加载上一个版本的内容的时候,找不到了,就会白屏。

解决思路

所以要解决这个问题的话,需要在nginx里面配置不缓存html文件(尝试了:index.html文件加math。文件引用加时间戳等,均不可用。主要还是缓存了html的问题)

上才艺

nginx 清除页面缓存

只要简单的在nginx里面配置一下,不缓存html文件

if ($request_filename ~ .*\.(htm|html)$){
    add_header Cache-Control "no-cache, no-store";    
}   

贴上清除缓存的相关文档

juejin.cn/post/709852…

www.keycdn.com/support/wha…

developers.weixin.qq.com/community/d…

image.png