背景:
2.4.11版本
通过protobufjs生产了对应的proto.js和.d.ts文件,业务代码里可以直接用里面的数据结构。
但是因为业务的协议很多,生成的js文件很大,没压缩之前达到20m,压缩之后是6m,肯定不能放在主包,所以做了分包proto。
因为游戏业务逻辑也很多,代码同样做了分包,比如数据model分包,其中会依赖引用proto包。
逻辑上在加载model包之前,先加载了proto包
问题来了:
在编辑器、微信开发者工具上,运行一切正常。
但是开发版、体验版,在我的IOS手机上一直报错:
在model层cannot find module “proto”
安卓机器上还没有测试过
疑问:
1、是不是分包之间不能互相引用、调用代码?
2、如果proto不生成js,而是生成json文件放在资源里,在运行时通过protobufjs.Root.fromJSON动态加载,这样包体大小可以保证,但是业务开发是不是就不方便了,需要把proto协议里面的字段名都要自己定义一遍接口?