1. 程式人生 > >Laya 整合微信小遊分包

Laya 整合微信小遊分包

3微信官方分包文件:微信分包文件

關於相容這塊有bug  發現低版本的require會再真機上報錯。暫時通過微信基礎庫版本來區分在laya遊戲邏輯程式碼中做一點處理。

高版本採用分包。低版本採用網路拉取資源的形式來結合相容。

 微信開著工具 於 最上層路徑: game.js

//檢查版本 
var info = wx.getSystemInfoSync()
console.log("info.SDKVersion",info.SDKVersion)
if (compareVersion(info.SDKVersion,"2.1.0") >= 0) {
    console.log("大於2.1.0版本")
    window.GameIsSubPackage = true; 
}else{
    console.log("小於2.1.0版本 手動觸發") 
    //require("./subpackage/game.js"); 
    window.GameIsSubPackage = false; 
}
require("./code.js");
 

然後laya遊戲資源載入路徑裡面增加

/**
     * 背景 如果小於2.1.0的包暫時無法觸發game.js
     * 所以通過控制來解決 小於基礎庫的還是網路拉資源
     * 高基礎庫的 直接用分包資源
     */ 
     function setSubPackage(){
        //只有設定到subNativeFiles配置資訊中的目錄才可以在主包中直接使用。
        Laya.MiniAdpter.subNativeFiles = {
            "subpackage": [
                "res/spine/",
                "res/",
            ]
        };

        //如果有網路載入資源的需求時,不要忘了設定本地資源載入的白名單nativefiles
        Laya.MiniAdpter.nativefiles = [ 
            "subpackage/res/spine/", 
            "wxlocal",
            "layaNativeDir", 
        ];

        //處理是否分包操作 game.js 提前預判了
        if(laya.utils.Browser.window.GameIsSubPackage){
            Laya.MiniAdpter.nativefiles.push("res/spine/")//很重要 決定是否網路載入
        } 
     }
 

工程資源路徑  紅色的是分包資源。

 微信開發著工具裡面的game.json