web前端部署过程中缓存出现的问题 生产实战经验 移动端H5

目录

  • 增加时间戳 或者 版本号
  • chrome: provisional header are showed
  • 漏掉的ng-include
  • 手机各种机型 对缓存的不同处理 (2018)

移动端H5混合应用的新版本生产部署之后,
出现的各种情况和实践总结:

在资源文件名后面增加一个随机参数或者版本号

经过验证非常有效

chrome: provisional header are showed

可能是nginx配置不同导致
1.测试服务器返回是304 not modified
2.生产服务器返回是200 ok (from disk cache) + provisional header are showed
不过都能正常更新,
provisional header are showed看似没有发出请求,
其实还是比对过服务端的版本的

漏掉的ng-include

为了兼容一个旧的 没有工程化的 angular项目,
漏掉了ng-include中的get请求,没有再文件名后动态增加随机参数,
导致资源没有更新,
beware

手机各种机型 对缓存的不同处理 (2018)

全部资源文件的 文件名全都加了动态生成的hash,

在可观测到的移动设备中

iOS系统手机全部正常,
更新之后马上能拉取到最新的资源,

某个版本安卓vivo,间歇性的在新资源和旧资源之间切换,[无解..]
其他多台vivo正常,

两台努比亚 全部无法自动拉取新资源,

华为p系列的某台机器 也无法自动清除缓存,

在访问入口index.html后加随机参数也无效,
全部需要手动进入设置清除缓存

影响因素:

原生App,
http服务器的配置,

资源有限,无法一一排查、验证,仅此记录一下

猜你喜欢

转载自blog.csdn.net/sinat_24070543/article/details/80663281