cocos cretor 3.0中使用jszip对压缩文件进行处理
上篇文章在处理json配置文件过大的问题中说过,cocos creator 在发布h5版本的时候,由于配置文件过大,会影响加载效率。采用将json配置文件进行压缩,处理,客户端使用jszip库进行解压缩,最终客户端获取到的配置文件还是json格式的,但是网络传入流程却变成了十分之一甚至更多。
1.从网络上下载jszip库,和对应的 jszip.d.ts文件 地址问:http://stuk.github.com/jszip/ https://github.com/stuk/jszip 该库经测试真是可用
2.将下载好的扩拖到 cocos creator 中。并且导入为插件。
- 执行作用域为:独立
- 允许web平台加载 勾选
- 允许Naative平台加载 勾选
- 允许编辑器加载 勾选
至此,jszip库在cocos creator 3.0中的集成完成,可以在代码中使用。
在加载压缩的配置文件时,是通过 bunle.load<BufferAsset>(fileName,(err,buff:BufferAsset)=>{}) 方法获取压缩文件的二进制进行解压缩的。
示例代码如下:
assetManager.loadBundle("BundleName",(err,bundle:AssetManager.Bundle)=>{
if (err !=null){
console.error("loadBundle failed:",err);
return;
}
bundle.load<BufferAsset>(filename,(err,buff:BufferAsset)=>{
if (err != null){
console.error("load path file err",err);
return;
}
let arr = filename.split("/");
//调用JSZIP的加压缩方法。
JSZip.loadAsync(buff.buffer()!).then((zip)=>{
zip.file(arr[1]+".json").async("text").then((data)=>{
//console.log(data);
let json = JSON.parse(data);
//正常情况,这里就能获取到对应的json文件数据。
});
});
});
});
在示例中,只用到了 JSZip.loadAsync的解压缩方法。
cocos creator 3.0压缩json文件,客户端jszip。cocos creator 3.0 中使用二进制的配置文件
2021-07-17 14:36:55
user 阅读(625) 评论(0)
标签:cocos creator 3.0,前段开发,h5,jszip压缩,json文件压缩,JSZip.loadAsync
分类:随笔/杂项
很赞哦! (0)