微信小程序webview内嵌H5页面缓存
参考链接: link.
问题描述:
公司项目已经开发了一个移动端的vue项目,以微信小程序作为一个入口,节省资源去原生开发,webview成了最好的选择。vue项目已经更新到nginx上线成功,但在小程序展示还是上次版本的内容,并未更新。虽然webview 在不确定的时间段是可以进行缓存刷新,但达不到实时更新的需求。
解决方案:
微信小程序webview 访问资源是通过 URL 地址,如果内嵌 H5 的地址不发生变化,那么 webview 访问资源会从缓存里取,而缓存里并没有最新的数据,这就导致了服务端的最新资源根本无法到达浏览器。所以,要想彻底解决及时刷新,必须让 webview 去访问新的地址。
https://xxx.xxx.com/001/#/index
其中 001 就是每次构建的版本号,保证每次不同就好。
1、nginx配置
Nginx 正则规则
server {
##其他配置
##......
##其他配置
rewrite "^/\d{3}/(.*)$" /$1 break;
##其他配置
##......
##其他配置
}
2、项目更新包上线后,手动更新微信小程序访问的H5地址的版本号