都2023年啦,我以为大家都知道微信是可以热更资源的,直到看到论坛里面还有人在问相关问题。这里我给大家简单分享下我的实现方式。
我的方法目前只测试过zip形式的资源包。
- 开启资源hash输出,否则可能造成缓存不能更新资源
- 每次打包完成后,通过脚本获取包hash值,并存储在文件中,如下:
- 在项目开始,加载上面生成的hash清单文件,不要开启缓存,否则造成不能更新导最新的清单文件:
- 重写bundle加载函数,将zip路径重定向到新资源,并通过老hash值加载本地包js文件(这一步非常重要,否则报错):
红框中代码在3.8中与引擎源码的路径不一致,不知道是否是因为使用了代码作为包的问题:
3.8
其中包中的js应该是注册一个虚拟模块,只要名字一样就行了,我对比过不同hash值文件,没区别:
以上!




