为了安全性考虑,Egret发布的时候会压缩+混淆代码,这也就导致了在做底层的IOC框架时会遇到困扰,因为依赖注入时需要用到类名和变量名,如何能让egret wing如发布时类名和变量名不混淆变成了需要考虑的重点。
通过摸索,发现egret压缩混淆用了第三方插件
UglifyJS2
所以只要调整下输入参数就可以搞定,
在Egret\engine\5.1.9\tools\lib\utils.js里只需要修改一行,第261行,
var result = UglifyJS.minify(sourceFile, { compress: { global_defs: defines }, fromString: true, output: { beautify: false } });
改成
var result = UglifyJS.minify(sourceFile, {compress: true,mangle: false,fromString: true,output: { beautify: false }});
保留了压缩功能,去掉了混淆功能。
参考文档: