昨天我们的游戏更新了一个版本,但是发现使用bot机器人打开还是之前的老版本,没有进入到新更的版本,当时就有点懵了。
(adsbygoogle = window.adsbygoogle || []).push({});
原因:缓存
刚开始我们以为是服务器的缓存,但是清除服务器缓存后没用。于是抓包,查看bot打开webApp时所有的网络请求。发现每次打开webApp的时候都没有重新拉取资源,因为更新后的文件名和文件路径和更新前是一样的。
解决方法
每次更新的时候文件名后面统一加上一个后缀,说干就干,在网上找插件,甚至要chatGPT写脚本,都没搞定。因为我们的web是用cocos creator开发的(直接从安卓转过来的)。在用脚本加后缀后,文件索引会出问题。在这里也卡了一会儿,最后没办法去查看cocos Creator的官方文档,发现文档上已经给出了解决方法。如下图:
; 其实也就是我们在打包的时候勾选上MD5缓存,就可以解决这个问题了。 如下图:
; 我们来康康构建后的文件名:
; 完美,是我们想要的结果。
先在本地运行,看有没有文件索引不到的bug,没问题直接推送到服务器或CDN即可。
感悟
还是得多看看官方文档,有时候看官方文档可以为你节约很长的时间。