3.6 子游戏热更新方案

你好,请问一下,script_cache_tab和system_js分别是什么类型?在哪里赋值的呢?

你参考下https://forum.cocos.org/t/topic/139800/38?u=304796487

这个方法写哪里?在哪里调用的呢?

看你自己咯,又不是一样的工程,只是一个函数随便放哪 你能调用到就好了

你这个还是要限制项目规范,因为有可能 ccclass 不在模块内导出,而是模块的命名空间中导出,比如我 :joy:

1赞

我才玩js 没多久 不是很懂 可以举个例子吗?

namespace _test {
    @ccclass("data")
    export class data {
    }
}

@ccclass
export class A {
    @property(_test.data)
    data = null;
}

这种甚至都不给你导出,按照上面的代码是热更不了的

没这么写过 不清楚 :rofl:

md5异常是因为引擎里面加载bundle挂载js的时候。用的新md5的js路径,造成js加载异常,需要改引擎

新问题 因为加载web-adapter.js 在 main.js 之前 会导致 web-adapter.js 更新不了 @1226085293 你们再哪修改的搜索路径,目前我们上线了这个热更不了有点难受,

搜索路径?我用的是 bundle 更新,根本就更不到这个文件,你是什么操作会更新 web-adapter.js ?

同步3.8.0的修复

那没办法,自己找方法吧

同步3.8.0修复


老的执行这个代码会不生效

类似于main.js 是由cpp加载的,同样,web-adapter也是由cpp加载的,从引擎层面来讲,这两个文件都是无法热更的,如果有需要,则需要修改引擎,比如说

# BaseGame.cpp

runScript("base.js");

# base.js
// 设置搜索目录
require("jsb-adapter/web-adapter.js");
require("main.js");