egret编译
Ⅰ 白鹭发布ES6时uglify-js不支持es6的解决方案
试了一下发布ES6,结果报错,不支持uglify-js,需要换插件。从论坛中找到如下链接:
https://bbs.egret.com/forum.php? ... 52516&highlight=es6
但是看了一下发现并不是很合适,因为Egret中有不少地方用到了uglify-js,换起来有点麻烦。
这里我直接使用uglify-js的harmony分支uglify-es,源在github上:
https://github.com/mishoo/UglifyJS2/tree/harmony
按以下步骤操作:
1.按上面链接的文档进行安装,我直接npm安装的,没有替换Egret集成的uglify-js
2.安装完后找到Egret库中的utils.js,我的Mac目录在:/Users/xxxxxx/Library/Application Support/Egret/engine/5.2.14/tools/lib/utils.js
3.打开utils.js进行修改:
找到:
修改为:
完成第一步,此处使用刚安装好的库
然后找到:
修改为:
此处是为了处理egret publish的时候会引起的编译错误。
4.执行egret publis,可以正常发布。
目前我这么处理还没问题,不知道是否有隐藏问题,感谢指正。
ES6越来越广泛,期待Egret官方能够把常用集成库都处理成支持ES6的版本。
5.备注:
uglify在对第三方库生成.min.js时,如果想集成到Egret中,不要加参数,直接输出即可。示例如下:
1.错误写法,能正常debug能正常release但不能正常运行:
2.正确写法,全部正常:
** 补充:如果编译目标可为es5,忽略以上全部说明,直接在lib中添加es6配置即可,如下
Ⅱ egret wing编译项目为什么无法完成
这个工具不是编译器,只是做简单的语法转换,并不保证转换后的代码100%能运行。因为语言特性和底层API限制,Egret无法做到跟Flash 100%兼容。所以开发者仍然需要学习Egret和TypeScript语法,尤其要注意跟Flash/AS3不兼容的地方
Ⅲ 什么是白鹭引擎
Egret Engine(白鹭引擎)是白鹭时代推出的一款使用TypeScript语言构建的开源免费的移动游戏引擎。通过白鹭引擎,开发者可以快速地创建可以运行在手机App的WebView或者浏览器中的HTML5移动游戏,也可以编译输出成基于Android、iOS、Windows Phone的跨平台原生移动游戏。应用Egret引擎开发HTML5移动游戏,不但能让H5游戏具备牛逼的性能表现,并且效率很高。