这里有回复说是通过自动工具进行修改的,但是却暂时不整合进构建流程,而是先直接应用在代码库中。
上面给的指标压力是不是太大 
这里有回复说是通过自动工具进行修改的,但是却暂时不整合进构建流程,而是先直接应用在代码库中。
上面给的指标压力是不是太大 
这种东西还是放在构建流程里面执行的好吧,不然这个源码更难读了
本身是开源引擎,这个反馈帖子重点收集了大家关心的包体问题(因为最近拜访了20家,14家有包体和加载需求),欢迎沟通,还能revert,不方便发论坛的也可以小窗/wx
我只能说不知道是哪个产品经理容易他们这样干的 变量名缩短 为什么不做压缩啊 压缩的收益明显更加高啊
关于变量名的缩短收益还是不小的。我们也研究了工具,后续看下是否可以自动化处理。缩短名字的主要是管线流程的内部代码,这个是内部维护,有工具处理。
有考虑压缩方案吗
你说的压缩方案指的是啥?我们现在是有做 uglify。
嗯嗯,这个后续会考虑加。
脚本后处理 terser 的 mangle 正则配置是可以手动指定要 mangle 的变量名称。这个会在下个版本中处理。到时候会 revert 自定义管线代码中私有变量缩短的改动。
目前自定义管线的那部分代码是通过工具自动生成的,而且是针对内部接口做处理。对上层使用来说没有影响。
rollup 分离 cc.js 和 __virtual-cc_xxx.js 的时候,处理会将模块名在 __virtual-cc_xxx.js 用 字符串的形式导出,而 cc.js 中又是按 module.xxx 的方式访问,terser 在处理 mangle 正则规则的时候,很容易因为配置问题导致 cc.js 中的 module.xxx 跟 __virtual-cc.xxx.js 中的 export(“xxx”) 不一致。所以,terser 的配置,我们需要更细的验证,会在下个版本周期中处理。
现在发布 release 版本,最后会走 terser 的 minify 流程的,默认的 terser minify/uglify 不会对 JS class 的成员属性和方法进行 minify。需要通过配置 mangle 规则才行,mangle 规则会在下个版本中处理,目前发现打出 systemjs 格式的包会有潜在问题。需要更严谨和详细测试。
我说的压缩方案就是 游戏引擎启动页mian.js里面只有一个启动图和加载条可以自己编辑!然后mian.js里面可以解压引擎的代码 引擎的代码可以远程或者本地 不知道这个有没有办法实现
他说的压缩方案是我写的那一大片,需要把线性加载的玩意儿全部处理了,不要在启动的时候加载一大堆东西。。。
老板对request的数量要求极高,而且要求不能在启动的时候卡住很久。
因为creator启动的时候线性下载太多的js文件,还有json文件,还有spine的wsam文件,导致进首屏的时间太久了。
如果不优化,那么在看到自己游戏里面的进度条之前,可能需要卡住好几秒钟,在不同的网络环境下,可能时间还会更久,这是老板无法接受的,我只能把所有脚本的加载都改了
我因为这个卡住的问题被领导叼了好多次了。。。
这个只有 web 能实现,小游戏没办法啊。因为小游戏平台禁止 eval 和 new Function 的方式运行解压后的 js 代码。而且 web 上,默认开启 gzip 的话,本身下载就是 gzip 后的 js 代码体积。除非服务器不支持 gzip。
引擎的 js 文件本身不多,项目打出来的 js 文件看首包 bundle 的数量,如果bundle 比较多,可能会有比较多的 js 文件,那么把 js 文件打成 zip 包是可以减少网络请求。
后续会考虑为 web 支持 bundle zip 包的功能。
我差不多也是这个意思
如果这样的话,我的目录结构也能简化了
这个太棒了