Project.jsc太大

现在creator把所有的代码都放到一起然后编译,对于大项目来说,这个文件会很大(我们的上一个项目有5M多)。
热更新时,即使只修改一行代码,也要更新所有的。

能不能不合并?或者自动合并成多个文件?或者可以自定义映射关系?

请问 5M 是不是包含了什么插件?

没有插件。 是包含cocos2d本身的那些js的,但cocos2d的js并不多。

需要注意的一点是,即便拆分开来,对于不同批次或不同机器打包出的 jsc 文件之间可能是不兼容的,所以建议热更新的时候,如果涉及到脚本更新,最好都更新

不兼容是什么原因造成的? 理论上来讲代码不变,jsc也应该不变的吧?我们的前两款游戏都是这么做的,没有出现不兼容的情况。

热更新所有的脚本不太符合实际需求。有时候hot fix一个bug,可能只需要改几行代码。如果玩家需要下载上M的数据(压缩后),有点不合理。流量是一方面(不少国内外玩家还是很在意的),对于实时性要求比较强的游戏,玩家在更新上卡半天,体验会比较差。

目前我们 cocos2d 本身和项目代码是拆分开的,热更新时一般只会更新项目代码,项目代码不太可能有 5M 那么多。

以前用cocos2d-js,确实有这么大。 用cocos creator后,应该会小一些。不过即使只有1、2M,也还是希望能分别更新。

能否考虑把合并js并编译为jsc这一步,放到compile阶段来做?
或者在Build的时候加一个选项,不compile js,这样我们可以自己来jscompile

这个需求比较难实现,因为文件的 require 都是相互关联的。支持第三方模块后,如果你们能把主逻辑单独打包,以插件的形式加载,那就能单独更新。