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游戲具備牛逼的性能表現,並且效率很高。