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)=>{}) 方法获取压缩文件的二进制进行解压缩的。

示例代码如下:

  1. assetManager.loadBundle("BundleName",(err,bundle:AssetManager.Bundle)=>{
  2. if (err !=null){
  3. console.error("loadBundle failed:",err);
  4. return;
  5. }
  6. bundle.load<BufferAsset>(filename,(err,buff:BufferAsset)=>{
  7. if (err != null){
  8. console.error("load path file err",err);
  9. return;
  10. }
  11. let arr = filename.split("/");
  12. //调用JSZIP的加压缩方法。
  13. JSZip.loadAsync(buff.buffer()!).then((zip)=>{
  14. zip.file(arr[1]+".json").async("text").then((data)=>{
  15. //console.log(data);
  16. let json = JSON.parse(data);
  17. //正常情况,这里就能获取到对应的json文件数据。
  18. });
  19. });
  20. });
  21. });

在示例中,只用到了 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 分类:随笔/杂项