Laya 整合微信小游分包
1.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