如何做版本管理呢
zip也是可以搞md5的嘛.
我还在测试这个问题,测试好了就更新。也可以提下你的想法,一起研究下。我的思路也是生成manifest.json文件,就像热更新版本文件一样,打包时直接写进去,核心代码直接读取这个文件来判断版本
大概怎么搞??直接写在setting文件中吗?
其实思路和这个一样,手动压缩,然后解压,bundle加载,这个3.x版本也可以使用,可以自行测试下
人家是index.25d86.js,你搞成 GameNameXXXX.25d86.zip,下载过去就好了.
来了,新增一键打包,版本管理
- compress.js 一键打包脚本放在项目的根目录中,需要安装adm-zip模块,
npm install adm-zip - jszip.min.js 项目中设置成js插件,放在项目中就行
- ZipBundleLoader.ts 解压加载核心代码
打包读取思路:
- 通过 index.html文件,获取setting.js文件,根据bundleVers对象遍历打包assets目录下的分包目录,将对应的分包目录中的所有文件夹打包成zip文件(格式: 分包名.MD5.zip),最后删除目录中的文件夹
- 核心代码中通过cc.assetManager.downloader.bundleVers 获取setting.js文件中的bundleVers对象来获取对应分包的md5码
完整版:zip.zip (31.3 KB)
注意:理论上3.x版本也是可以使用的,思路很简单,手动打包 -> jszip解压 -> bundle加载
==========================
最新版本:
- 使用了单例的方式导出 (我核心代码中继承就是一个单例类,根据自己需求改就行)
- 解决资源留存问题和zip解压的问题,从全部解压放到内存中改成按需要解压读取,在内存中只保留zip索引和结构,减少内存的消耗同时如果再次解压相同的zip文件则会直接读取缓存优先从缓存中读取减少多次解压操作
- 新增自动清除资源问题,使用定时器来检测长时间不使用的资源缓存,减少内存消耗
- 新增bundle释放方法,手动释放
- 修复加载音效,特效,图集加载异常的问题
最新文件:zip.zip (33.8 KB)
============================
2.x版本自动打包插件来了(面板简陋,功能齐全,放心使用)
web-bundle-zip.zip (40.2 KB)
来看看解决方案
也是一种思路,我做了一个看看效果
看看能不能再补个进度条加载函数,感觉放在loading界面不错.
能否通过修改download-file.js文件的 downloadFile 方法来替换文件数据,这样的话代码会不会更简洁些,包含的文件范围也更多些
有做过测试吗,大概比下散文件快多少
download-file.js 毕竟是底层文件,后面更新版本不知道会不会升级等一些骚操作导致不可用,还是用官方的register API会好点。你可以根据你的思路来测试下
还没有做测试呢,还在优化中
后面搞搞,目前这个版本还有些问题,还在优化
真不错,点赞收藏
最新版本来了,请看解决方案,应该是最终版本了!!!!后面再搞个插件打包完自动压缩,哈哈哈哈哈!!!!!
2.x版本自动压缩插件来啦!!请看解决方案获取