3.8.7关于不同bundle代码的问题

微信小游戏打包的时候 设置了多个小游戏分包。
分包1的优先级比较高,可能存在优先级更低的其他分包引用了分包1的代码。
分包1的代码被打入了/src/chunks/bundle.js 并没有打在分包1内。
很多个版本之前是正常的似乎,后来一直没有打包测试。开发阶段。
问题:打入/src/chunks/bundle.js的逻辑是什么?是被其他bundle引用了的话就会被打入吗?

关于不同bundle代码的问题 微信小游戏 /src/chunks/bundle.js - Creator 3.x - Cocos中文社区
之前也有类似的问题
求答复… 现在完全初始包完全控不住

你从主包开始查代码的引用链,主包相当于入口程序,主入口如果用到了没有加载的代码(分包)必然会报错,和优先级没有半毛关系,优先级的资源copy只对静态资源有效,例如精灵、材质、spine、动画等。如果要用代码必须优先加载。

最简单的办法是主包小游戏分包,代码全部放主包里面。首场场景load绑定main.ts加载主包就行了。

再要不就是做好模块隔离,代码别乱飞

优先级越高的需要越早加载。所以只能低依赖高,不能高依赖低。你出问题,估计是高依赖低,或者加载顺序出错。

分包1代码引用分包2的代码,但是引用的分包2的代码都打入了/src/chunks/bundle.js,这理解合理吗?
不应该分包2代码在分包2里面吗

分包1代码引用分包2的代码,但是引用的分包2的代码都打入了/src/chunks/bundle.js,这理解合理吗?
不应该分包2代码在分包2里面吗

是你分包1引用了分包2 ,不是分包2的代码打入了分包1吧。
分包2的代码打入了分包2的bundle.js,这没什么问题吧,应该是你打小游戏平台,然后分包设置为了远程分包

不是分包2的bundle.js是主包的/src/chunks/bundle.js

什么叫引用的分包2的代码都打入了/src/chunks/bundle.js?没太懂你的意思。正常应该代码全部打在一个js里面。a分包打a分包里面。b分包就算用了a分包的代码,也只会在对应js里面有一个引用,不会把a分包的代码直接打在b分包里面。

就是分包1引用了分包2的对象A,但是这这个对象A的代码不在分包1,也不在分包2,在主包的/src/chunks/bundle.js

分包1如果引用了分包2的对象A,假设是预制,那么对象A会在分包1里面有一个json(资源信息),在分包2中只会有一个对象A引用分包1的记录,这是因为分包1的优先级比分包2高,所以会资源放到高优先级分包中。至于对象A的代码不在分包1也不在分包2,如果对象A的代码本来就不在分包里面,就会打在主包里面,如果分包A的代码在任意一个分包里面,那就肯定在对应分包里面。

给个示例看看,我怀疑你把对象A的代码没有放在分包2里面而是直接放在了主包里面

主包引用分包1了吗

方便给下全目录吗?
我的描述有问题,我的意思是如果是小游戏平台的远程分包,则会打入主包,但是会在分包名字的目录夹下面。比如分包名为a,且为远程分包,则目录为src/bundle-scripts/a/index.js
如果都在src/chunks/bundle.js,除非cocos又改了什么逻辑,不然确实不对