开源微信小游戏代码热更新技术

微信封了eval,导致正常情况下是不能动态执行代码。
所以每次版本更新都得送审,频繁送审到微信耗时太长,如果遇到关键BUG,也很恼人。
基于现状,本人写了一套Javascript直接运行TypeScript代码的脚本解释器。可以动态得执行TS代码。本来没打算这么早发布,比较仓促,还有很多可以优化的地方,但是一般开发是不影响的,如遇问题还请见谅。
原则上,支持任何引擎,工程里只加了egret和cocos的demo。其中egret的例子把资源热更新(ZIP下载解压,资源缓存)+代码热更新都实现了。cocos因为时间有限,请自行实现了。
QQ群:857485170
如果觉得可以,请给个star。:grin:

开源地址

QQ群:857485170

3月26日更新:新增只更新某方法、某类的Demo。具体实现在egret_demo的UpdateFunction.ts和UpdateClass.ts里面。

30赞

这。。。微信又要封API了吧:joy:

1赞

坐看其他人评论~

这个封不了。封字符串处理函数?那都别开发游戏了!

不过,你这个确实厉害:+1:

谢谢。。原理其实就是服务器发一串包含代码的字符串。然后解析这个字符串。字符串处理函数腾讯总不见得封吧。所以我才开源的。之前都是自己在用。配合资源包更新。可以就送审一次,把A游戏更新成B游戏。

laya和egret如何运用我比较好理解
cocos实际运用我一下子没想通

好像可以用来紧急修复一些bug,比如前几天模糊问题,还不错,赞一个

mark

不想说脏话,但是我想说,你特娘的真是个人才,不,天才

火钳刘明

cocos的实际运用可以参考unity热更新那边的做法

mark

坐等和谐~

技术上基本是和谐不掉的。除非腾讯大大用别的手段怼我:joy::joy::joy::joy::joy:

挖个坑先蹲着。。。

你丫还真是个人才啊

666666666666 mark

顶,楼主太厉害了

666666 标记一下