最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

cocos creator更新后真機(jī)報(bào)錯(cuò)not node js file system!?SIR THIS WAY!!

2023-05-11 11:15 作者:32398302533_bili  | 我要投稿

有些人真機(jī)測(cè)試cocos creator打包的微信小游戲會(huì)出現(xiàn)類(lèi)似這樣的錯(cuò)誤:

這其中其實(shí)是兩個(gè)主要錯(cuò)誤,一個(gè)是讀取不到src內(nèi)的settings.json。第二個(gè)是讀取不到gamecache。

先說(shuō)第一個(gè)問(wèn)題,我比較粗暴,直接改了engine-adapter.js中的源碼,將方法readJsonSync改為:

readJsonSync:function(t){

? ? wx.setEnableDebug({

? ? ? enableDebug: true

? ? });

? ? try{

? ? ? if(wx.getSystemInfoSync().platform=='devtools')

? ? ? {

? ?

? ? ? ? ? ? var e=a.readFileSync(t,"utf8");

? ? ? ? ? ? return JSON.parse(e)

? ? ? }

? ? ? else

? ? ? {? ? ?

? ? ? ? ? ? var fileNm=t.substring(t.lastIndexOf("/"));

? ? ? ? ? ? if(fileNm.indexOf('settings')!=-1)

? ? ? ? ? ? {?

? ? ? ? ? ? ? ? var json='直接粘貼成你src/settings.json中的內(nèi)容'

? ? ? ? ? ? ? ?return JSON.parse(json);

? ? ? ? ? ? }


? ? ? ? ? ? else

? ? ? ? ? ? {


? ? ? ? ? ? ? ?var e=a.readFileSync(t,"utf8");

? ? ? ? ? ? ? return JSON.parse(e);

? ? ? ? ? ? }

? ? ? }

}

catch(e)

{

? console.warn(e);

}

},

這樣settings.json直接寫(xiě)在代碼里就寫(xiě)死了,也不用費(fèi)勁滿(mǎn)處去找了。

現(xiàn)在說(shuō)第二個(gè)問(wèn)題,找不到緩存gamecache,或者說(shuō)壓根沒(méi)有,更別提里面的cacheList.json文件了(PS:該文件可以在頂部的微信開(kāi)發(fā)者工具-》調(diào)試-》打開(kāi)調(diào)試目錄-》崩潰信息目錄中跳到上兩級(jí)文件夾中搜索獲得,可以發(fā)現(xiàn)該文件和其他緩存文件一起存放在電腦緩存的文件夾里,值得一提的是,電腦的cacheList的json文件中key以http://usr/開(kāi)頭,真機(jī)中則是wxfile://usr/,想得到最新的緩存可以清除所有緩存后構(gòu)建獲得。

而真機(jī)中該緩存的位置是下圖:

我們修改engine-adapter中的init方法為:

init:function(){

this.cacheDir=a()+"/"+this.cacheDir;

var e=this.cacheDir+"/"+this.cachedFileName,t=o(e);

!t||t instanceof Error||!t.version?(t instanceof Error||l(this.cacheDir,!0),this.cachedFiles=new cc.AssetManager.Cache,c(this.cacheDir,!0),r(e,JSON.stringify({files:this.cachedFiles._map,version:this.version}),"utf8")):this.cachedFiles=new cc.AssetManager.Cache(t.files),this.tempFiles=new cc.AssetManager.Cache

},

這個(gè)方法的意思就是三目一下,如果有緩存文件,就用該文件,沒(méi)就寫(xiě)。

可以發(fā)現(xiàn)只加了一個(gè)!t||,這里是他寫(xiě)代碼的一個(gè)失誤,如果只判斷t instanceof Error||!t.version,那么t為空時(shí)t.version會(huì)空指針異常,加上后就能正常在手機(jī)中加載緩存了,(PS:它運(yùn)行第一次還是會(huì)報(bào)錯(cuò)沒(méi)有發(fā)現(xiàn)資源,因?yàn)樗@里不管有沒(méi)有先讀一波,沒(méi)有wx.readfile就會(huì)報(bào)錯(cuò)不影響使用)

如果小高解決了您的問(wèn)題,覺(jué)得帶的蠻好的,就給我點(diǎn)贊吧。

cocos creator更新后真機(jī)報(bào)錯(cuò)not node js file system!?SIR THIS WAY!!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
广德县| 乳源| 洛浦县| 沾化县| 中宁县| 永昌县| 陇西县| 平山县| 曲周县| 县级市| 沭阳县| 西乌珠穆沁旗| 湾仔区| 嘉义县| 泸溪县| 儋州市| 石渠县| 崇州市| 定州市| 会泽县| 六枝特区| 泸州市| 隆昌县| 连山| 宁晋县| 奉化市| 昌乐县| 永善县| 获嘉县| 西和县| 景洪市| 泰和县| 上犹县| 张家界市| 蓝田县| 和龙市| 松原市| 灌南县| 昔阳县| 壶关县| 巴青县|