一 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() );