一 jszip是什么
二 為什么要用jszip
三 如果使用zip
一 jszip是什么
jszip 是一個 JavaScript 庫,可直接在瀏覽器上創建 zip 壓縮檔。
二 為什么要用jszip
當游戲中有大量配置文件(txt或json)需要從服務器上下載時,
可以先將文件壓縮成zip包,在Egret中下載后解壓使用。
當配置文件只有幾個時沒什么,但是有50個60個時,我覺得是需要放到zip包里了。
以前在一家上市游戲公司用Egret開發過項目,里面有相當多的配置文件,就是放在一個zip包里下載的。
三 如果使用jszip
首先下載jszip第三方庫,下載地址,Egret官方在github上放的:https://github.com/egret-labs/egret-game-library
將jszip放在項目目錄下,放在哪你自選,只要配置中添加路徑時正確就行了。
然后在Egret中引用第三方庫,項目目錄下egretProperties.json文件中添加
{ "native": { "path_ignore": [] }, "publish": { "web": 0, "native": 1, "path": "bin-release" }, "egret_version": "3.0.6", "modules": [ { "name": "egret" }, { "name": "game" }, { "name": "tween" }, { "name": "res" }, { "name": "jszip", "path": "jszip" } ] }
新建一個txt測試文件 a.txt,里面寫個“a”
把a.txt壓縮成一個assets.zip測試包
放在resource/assets文件夾下
Egret中加載這個zip包,然后解壓里面的a.txt,並輸出里面的內容。
RES.getResByUrl("resource/assets/assets.zip", function(data){ var zip = new JSZip(data); console.log(zip.file("a.txt").asText()); //輸出a },this, RES.ResourceItem.TYPE_BIN);
當然,a.txt內是json的話,輸出的string可以轉成json來使用
var json = JSON.parse( zip.file("a.txt").asText() );