代码放Bundle,怎么动态加载?

本质是优先级没理顺,模块不清晰
我这边的做法是:首场景脚本(仅负责加载下个bundle)-> 公共脚本(一般是一个公共库) -> 数据层脚本 -> 资源数据加载脚本(通常与上一个脚本放在一个bundle) -> 游戏脚本

没有,一点都没有

资源文件夹配制成远程包。就一个.json 文件,其他的什么也没有。连图片都没有。这是哪门子的远程包。还有如果用小游戏分包,所有的资源都会被放到调用他的地方,用几次就会复制几次。这算哪门子优化呀。我不太明白,很疑惑

把资源做成一个bundle,代码做成一个bundle是吧。start-scene只有很少的内容。
然后你start-scene的脚本,会加载代码bundle,但是你不知道怎么使用这些代码?
start-scene的脚本,不能import别的代码,因为不在一个bundle,所以不知道怎么写?
你可以加载好代码bundle后,使用 this.node.addComponent(“代码名”),就能使用这个脚本了。然后这个脚本,就可以随便import任何脚本

整个项目的公共代码、资源、首场景,放在“首Bundle”里
然后每个页面一个Bundle,比如:
Loading页面的所有代码、资源一个bundle
封面的所有代码、资源一个Bundle
战斗页面的所有代码、资源一个Bundle
……
公共Bundle、每个页面单独的Bundle统统上传远程oss服务器
本地就一个自运行脚本,loadBundle加载“公共Bundle”,加载完loadScene首场景
然后公共Bundle里的代码会调用loadBundle加载Loading页面的Bundle
Loading页面里的代码会等Loading结束加载封面Bundle(假设Loading后面是封面)
依次类推,反正本地5行代码,啥也没有,任何平台都能运行任何游戏。

你们这个很麻烦,代码如果每个模块都要分bundle。那么使用起来很麻烦。A.ts 想要使用B.ts的函数,就非常麻烦。因为A,B不在一个Bundle,代码不能import 。一般代码放一个bundle,要启动游戏,就node.addComponent(“xx”)。xx就可以随便import其他代码

请问最后你是怎么解决的呢,目前我也有这个问题

其实在加载了bundle后可以使用 类似 require("…/…/ab/login/LoginCtrl").LoginCtrl 这样的导入,不使用import,这样在已知导入的情况 ,在后续引用的地方直接使用类名