1.パッケージ化されるように一緒に接続ジップとlayaairfiles.txtリソースファイル。
2.事前ロード段階、downfileダウンロードによる最初のzipパッケージおよびキャッシュディレクトリに解凍します。
3.設定BASEURL、すべてのリソースを事前ロードを開始。
4.自動的に次のNode.jsのスクリプトのために生成さlayaairfiles.txt
VaRの FSの=は、( "FS"が必要)。 VaRの cacheData = "" ; VaRの TMP = {}; VAR totalSize = 0 ; VAR nowTime = Date.now()。 VaRの BASEURL = "HTTPS://0.0.3/" ; VaRの BasePathの= "./bin/" 。 VARのfileList = fs.readdirSync(BasePathの); TMP [ "fileUsedSize"] = totalSize。 用(VAR ; iはfileList.lengthを<I ++は、I = 0 ){ VARのファイル= のfileList [I]。 VaRの統計= fs.statSync(BasePathの+ ファイル)。 もし(stats.isDirectory()){ readFileの(BasePathの +ファイル+ "/"、ファイル+ "/" )。 } 他{ totalSize + = stats.size。 TMP [BASEURL +ファイル] = {}; VaRのデータ= TMP [BASEURL + ファイル]。 データ[ "MD5"] = prePath + ファイル。 データ[ "readyUrl"] = BASEURL + ファイル。 データ[ "サイズ"] = stats.size。 データ[ "倍"] = nowTime。 VAR ARR = file.split( '' ); もし([1] == "アトラス" ARR"コードする"] = "UTF8" 。 } 他{ データ[ "エンコード"] = "" ; } } } TMP [ "fileUsedSize"] = totalSize。 VaRの STR = JSON.stringify(TMP)。 fs.writeFileSync( './layaairfiles.txt' 、STR); 関数readFileの(readurl、prePath){ VARのfileList = fs.readdirSync(readurl)。 用(VAR ; iはfileList.lengthを<I ++は、I = 0 ){ VARのファイル= のfileList [I]。 VaRの統計= fs.statSync(readurl +ファイル); もし(stats.isDirectory()){ readFileの(readurl + "/" +ファイル+ "/"、prePath +ファイル+ "/" )。 } 他{ totalSize + = stats.size。 TMP [BASEURL + prePath +ファイル] = {}; VaRのデータ= TMP [BASEURL + prePath + ファイル]。 データ[ "MD5"] = prePath + ファイル。 データ[ "readyUrl"] = BASEURL + prePath + ファイル。 データ[ "サイズ"] = stats.size。 データ[ "倍"] = nowTime。 ARR = file.split( '' ); もし(ARR [1] == "アトラス" ){ データ[ "エンコード"] = "UTF8" 。 } 他{ データ[ "エンコード"] = "" ; } } } }
キャッシュディレクトリを抽出する5.ダウンロードしたzipファイル
Laya.MiniAdpter.removeAll(); wx.getFileSystemManager()({解凍。 zipFilePath:res.tempFilePath、 TARGETPATH:laya.wx.mini.MiniFileMgr.fileNativeDir、 成功:() => { この.unzipSuccess(); }、 失敗:(RES) => { この.unzipFail(RES); } })。