Cocos Creator插件脚本 在微信小游戏里不生效

上一个文章,在cocos creator中加载解压zip包没问题,但是在输出到微信小游戏后,在小游戏工具中运行后提示找不到这个插件。 折腾了好久,后来算了,不能用插件,我就不插了,直接用 在js文件头加上 const JSZip = require('jszip'); 下面的代码照常使用就行。 我的小游戏希望大家批平指正

Cocos Creator 加载zip文件,解压解析json

jszip的实际项目应用 游戏中有大量配置的情况下,文件会变得非常大,所以有些游戏会采用zip包压缩解压 例如我的这个成语填空游戏,配置文件加一起都有3m了,将游戏配置json文件一起压缩成zip包,加载后进行解压使用 在cocos中使用jszip 首先,在github上下载jszip库 下载地址 将下载的jszip.min.js放在项目assets/libs下,将jszip.js放在项目根目录的libs下。 (jszip.js在dist中) 然后将游戏的配置文件,多个json,压缩成zip包,放在resources/config下 代码中加载zip文件,并解析获取其中的游戏物品配置idiom.json loadZip() { let self = this; let url = cc.url.raw('resources/config/config.zip'); cc.loader.load({ url: url, type: "binary" }, (err, zipData) => { //2.1.3在安卓平台下会出现load不到资源的情况 if (err) { let httpUrl = `资源服务地址${url}`; console.log('loadConfigZip httpUrl: ', httpUrl); let oReq = new XMLHttpRequest(); oReq.open("GET", httpUrl, true); oReq.responseType = "arraybuffer"; oReq.onload = function (oEvent) { let arrayBuffer = oReq.response; // 注意:不是oReq.responseText if (arrayBuffer) { console.log('LoadConfig::unzip 0'); self.unzip(arrayBuffer); } }; oReq.send(null); } else { console.log("unzip unzip"); this.unzip(zipData); } }); }, unzip(zipData) { let self = this; let newZip = new JSZip(); // 因为将jszip导入为插件,所以可以全局直接访问 newZip.loadAsync(zipData).then(zip=>{ // console.log(zip); let fileList = zip.files; for(let filename in fileList){ zip.file(filename).async('string').then(data=>{ let json = JSON.parse(data); // console.log(JSON.stringify(json)); console.log(filename,json); if( filename == "idiom.json" ){ self.idiomDatas = json; self.readyGame(); } }); } }); }, 下面是我的微信小游戏,希望大家批评指正