【3.0版本严重bug!!!】AssetBundle文件中类申明变量就报错 ios平台

大概的原理是,现在子项目的 Bundle 会依赖 _rollupPluginModLoBabelHelpers.js 这个 rollup 编译出来的内容,这个内容是在子项目中的 bundle.js 中,父项目加载子项目的 bundle 时,没有去配套加载这个 Helpers.js 导致了报错。上个帖子的修改方式就是,手动把子项目中的 bundle.js 的内容,拷贝到父项目中。如果父项目以及有了这个 bundle.js,那就要合并两个 bundle.js 的内容

试过了 成功了 但是 合并bundle.js方案还是不咋可行 因为我们不可能每热更一次小游戏就把大厅的bundle.js合并一遍 这样的话小游戏只要热更一次 大厅就要更一次app了 所以 现在只能不用挂载的形势 全部用getchildbypath的方式代替了

这个bug什么时候修复,按照你这种修复方法我如果更新子项目bundle并且他的 bundle.js如果发生了变化那我岂不是还要更新下父项目的bundle.js

@EndEvil

这个要怎么操作呢

目前这个问题临时绕过的方法是,A 项目引用 B 项目的 bundle 的话,B 项目只能有一个主包,就不会生成这个文件

我觉得可以用 别名映射这个功能来解决

这个问题我那阵子已经解决了,不用拷贝bundle , 可以实现空包加载任意另外项目的assetbundle 。

:+1:如何解决的呢

主包是指 main bundle 吗?
有 internal bundle 和 resources 可以吗?

这是 3.x 版本,3.x 是没有 internal 的

目前的解决办法是把空包里要用的大部分组件都申明一遍,但是那时候正好出了3.4.0 所以我们不知道具体是升级后creator自己解决了还是我们的这个办法解决了。。太忙了 没有去深研究。 总之 目前安卓 苹果 都是可以用一个空包去加载其他项目的assetbundle了 。

大佬,能说一下解决办法吗?我们也遇到这个坑了

你空包可以用吗?

这个被屏蔽了
有人有备份这解法吗?

@EndEvil 贴子被屏蔽了,有人有备份吗? 3.5.2加载bundle也遇到了

链接失效了

方法1:拷贝bundle.js
效果:无效
原因:两个项目的bundle.js几乎一样,只有声明的局部变量不一样。拷贝啥?

方法2:空项目声明控件
效果:待验证
原因:不知道怎么操作,大佬们没有详细说明,官方没有给出答案

方法3:B项目只能有一个主包
效果:无效果
原因:creator项目默认主包是main,main里面没有任何相关的游戏业务代码,即使能够loadbundle,获取出来的内容也只是默认内容。

所以~~~~~~
AB包严重性bug,影响开发者外扩,甚至可以说是不完善的鸡肋功能。引擎组什么时候来完善?坐等

你们的 bundle 都是不同项目复用的么

是的,作为分包,可以扩展成大厅+子游戏功能。