求问官方一个问题 热更新可以把资源打成ZIP格式 那么远程资源管理方式是否也能ZIP呢?

原始平台热更新方式的项目,包里的资源 比如PNG 我可以在version_generator.js控制把这些资源变成ZIP格式,然后热更新过程中 工具会自动解压文件, 这个设计很好 过程也没问题,
但目前是小游戏 资源放在远程 remote目录里,那么是否也能像热更新管理那样 把remote目录里的资源变成ZIP格式,工具能正常的去加载,使用?
不知道 远程管理资源的方式 是个什么规则?是否能支持ZIP也?

= =我咋记得这个勾一下就行

没必要吧,直接cdn开启gzip传输不是同样的效果吗?

我觉得 从稳定性上来说,还是有很大区别的,
如果是工具本身支持的功能 那就可以屏蔽各种网络环境的差异和问题,比如运营商不支持GZIP或者有自己的服务器提供下载,你不能指望运营环境都是个完美的情况的,
所以工具本身的支持才是最优解 其他的都是没办法的办法只能说

应该是没有问题的 我之前在网页环境中 就下载了zip 然后去解压后 通过二进制的方式给cocos用,但是后面又发现了个严重的问题。在一些手机上下载zip一直失败 不知道是为什么

具体是什么手机呀,我再用jszip解压,目前还没遇到问题

一开始测试的时候也没有什么问题,但是用着用着 在苹果手机上 使用fetch下载zip出现了下载失败的情况,没有找到原因。

async function load_Zip(url: string, callBack: any) {

try {

cc.loader.load({ url: url, type: "binary" }, (err, zipData: ArrayBuffer) => {

  if (err) {

    console.error("Failed to load zip file:", err);

    callBack(false, "网络异常,请稍候重试。"); // 传递错误信息到回调函数

    return;

  }

  let newZip = new JSZip(); // 因为将jszip导入为插件,所以可以全局直接访问

  newZip.loadAsync(zipData).then((zip) => {

    callBack(zip, null); // 成功加载zip后调用回调函数

  }).catch((zipErr) => {

    console.log(zipErr)

    console.error("Failed to process zip file:", zipErr);

    callBack(false, "网络异常,请稍候重试。"); // 传递错误信息到回调函数

  });

});

} catch (e) {

console.error("Unexpected error occurred:", e);

callBack(false, "网络异常,请稍候重试。"); // 传递错误信息到回调函数

}

return false;

} 我是这样写的,