首先我們建立乙個不引用任何模組的 egret 空專案,在命令列中輸入
egret create demo --type empty
您會看到在專案資料夾中有乙個egretproperties.json檔案,這個檔案描述了當前專案的一些資訊。
其中包含乙個modules
字段,這部分就是用來配置擴充套件模組和第三方庫的。
為了統一管理,egret官方庫按照模組呈現,這樣設計的目的是避免載入不需要的模組,減少最終**的體積,提高載入速度。
目前 egret 的官方庫分為8個模組
egret 必備的核心庫
game 製作遊戲會用到的類庫,比如 movieclip,urlloader 等
res 資源載入庫,所有涉及資源載入的工作,都可以通過這個模組來完成
tween 動畫緩動類
dragonbones 龍骨動畫庫,用來製作一些複雜的動畫效果
socket 用來通訊的 websocket 庫
gui 老版本的 ui 庫
eui 新增的 ui 庫,使用起來更加的方便
您需要用哪個庫,就配置哪個。比如我想用game tween eui
這3個模組,只要像下面這樣新增到配置檔案裡就可以了
然後命令列裡使用egret build -e
命令,引擎會自動把使用到的類庫放到你的專案裡。
你會發現,在專案的libs/modules
資料夾下,原來只有乙個 egret 資料夾,現在多了game eui 和tween三個資料夾,這些就是使用到的類庫。
同樣的,如果您在egretproperties.json配置檔案裡把模組名刪掉,libs/modules
資料夾下也會刪掉對應的類庫。
使用egret create project_name
命令建立的專案,缺省會帶4個官方模組:egret game res tween
準備第三方庫
由於 js 與 ts 在語法結構上的差異,在 ts 中不能直接呼叫 js 庫的 api,所以typescript 團隊提供了一套虛構宣告語法,可以把現有**的 api 用標頭檔案的形式描述出來,擴充套件名為 d.ts(d.ts 命名會提醒編譯器這種檔案不需要編譯)。這套虛構定義語法,讓你不需要去實現函式體裡的**,類似定義inte***ce和抽象類。
幸運的是目前,大多數流行的 js 類庫已經由官方提供,或者由熱心的社群開發者提供了對應的 d.ts 檔案。當然,如果沒有,您也可以自己編寫。這裡有篇教程講得很詳細,裡邊也包含乙個龐大的 d.ts 庫,以及管理這些庫的方法:使用js類庫。
另外,由於一些流行的 js 庫在快速更新,可能會有你找到的 d.ts 檔案定義與 js 庫的版本不一致而導致其中的 api 並沒有完全對應的問題。遇到這種情況,要麼尋找對應版本的 js 庫,要麼就需要您自己修改一下 d.ts 檔案了。
至於具體修改方法,在對照原 d.ts 的基礎上,你可能還需要熟悉 ts 介面方面的語法,可以參考這裡:ts介面教程。
建立第三方模組
當我們準備好了要用的第三方庫,還需要把它編譯成 egret 需要的模組結構。
比如現在有乙個名為 weixinapi 的 js 庫,它包含3個檔案
jweixin-1.0.0.js
jweixin-1.0.0-additional.js
weixinapi.d.ts
第 1 步要建立乙個egret第三方庫的專案檔案,在命令列中輸入
cd .. (首先跳出egret 專案)再建立第三方庫專案
egret create_lib libsrc
第三方庫專案與 egret 專案不能巢狀。請不要在egret 專案目錄下面建立第三方庫專案。
您會發現剛剛建立的第三方庫專案和我們平時看到的 egret 專案結構是不同的,裡面包含2個空資料夾bin、src、libs(如果沒有請自行加上)
,還有乙個 package.json 的配置檔案。
第 2 步把準備好的那3個檔案拷貝到src資料夾中。
第 3 步如果需要引用到其他的第三方庫的**,請把引用到的庫檔案(主要是 .d.ts 檔案)放到 libs 目錄下,libs 下不要放其他除了 .d.ts 外的其他 .ts 檔案。
第 4 步開啟 package.json,將3個檔案寫入到 files 下面,如果檔案有先後依賴順序,一定得注意順序。
package.json檔案中:
]}
第 5 步在命令列中輸入編譯命令
egret build
libsrc(指的是上面 「
egret create_lib libsrc
」 中的
libsrc )
編譯完成後,您會發現,在 bin 資料夾下,生成了乙個
weixinapi
資料夾(資料夾名字是由
package.json檔案中
"name": "weixinapi"決定的
),裡面有個3個檔案
weixinapi.d.ts 描述檔案
weixinapi.js 在 egret 專案裡,debug 模式時使用的 js 庫
weixinapi.min.js 在 egret 專案裡,發布後的正式版使用的 js 庫,經過壓縮,體積比 jszip.js 小
使用第三方模組
和使用官方的擴充套件模組方法類似,在modules
裡填寫相關的資訊
egretproperties.json檔案中:
, "publish": ,
"egret_version": "3.1.2",
"modules": [,,
,]
}
"name": "weixinapi" 第三方庫的名稱
"path": "../libsrc" 剛才我們建立的第三方庫的路徑,絕對路徑或者相對路徑
這裡需要注意的是,
weixinapi
需要放置在 egret 專案目錄的外面。
最後命令列裡使用egret build -e
命令,引擎會把自定義的第三方庫引用進來,在libs/modules
路徑下,你會看到 jszip 這個庫,並且在index.html
中的modules_files
塊中,會加入 jszip 的 script 標籤。
所有需要對 api 的 .d.ts 檔案,請放在 src 下面,即需要在 package.json 裡配置,其他的請放在 libs 下面。
除了使用 egret 提供的標準的第三方庫的方式,我們還提供了另外一種可以通過 index.html 來直接配置的方式。
所有放在 libs 目錄下面的檔案,以 ts 作為副檔名的檔案只能是.d.ts
(如 a.d.ts)檔案,不能有純 ts 檔案(如 a.ts)。
VS配置使用第三方庫
vs 使用第三方庫 專案設定 調整標頭檔案引用目錄 c c general additional include directories 新增庫檔案目錄 linker general additional library 新增具體的lib檔案 處在上述庫檔案目錄下 linker input addi...
使用第三方模組ngx http accesskey
實現方法如下 解壓此檔案後,找到nginx accesskey 2.0.3下的config檔案。編輯此檔案 替換其中的 http accesskey module 為 ngx http accesskey module 用一下引數重新編譯nginx configure add module path...
QT配置第三方庫
在windows平台用qt 配置opencv3.2舉例 在qt pro檔案中 代表注釋,代表去除 x中的內容 config your platfromyour platfrom 判斷當前平台是x86還是x86,contains qmake target.arch,x86 64 else 判斷是deb...