Egret之微信小游戏基础Bug修复

一 : 第三方类库未定义

如 : smallLib类库

01.png

解决方案:

找到wxgame.ts , 在onFile方法中加入

			if(filename == "libs/modules/smallLib/smallLib.js" || filename == "libs/modules/smallLib/smallLib.min.js"){
									content += ";window.smallLib = smallLib;"
				}

二:第二加载问题

使用URLLoader 或  HttpRequest加载包内资源,都不会成功 , so

1 , 在default_res.json中配置文件

                        02.png

                        2,Main.ts 加载

//微信特殊的加载方案
if( egret.Capabilities.runtimeType == egret.RuntimeType.WXGAME ){
    await RES.loadGroup( "config" , 1 , null );
    await RES.getResAsync("common_xml").then(
        $value=>{
            console.log(`微信加载配置方案成功 : ${$value}`);
            common.XmlCommonConfigManager.Instance.root = egret.XML.parse( <string>$value);
        },
        $error=>{
            console.log("微信加载配置方案错误");
        }
    );
}

三:xml问题

1,使用xmldom.zip包(附件提供)

2,解压放入到微信项目的根目录

03.png

3,找到game.js , 在”egret.runEgret”上加入    window.DOMParser = require(“./xmldom/xmldom.js”).DOMParser;

04.png

四:自定义皮肤的问题

需要暴露类

05.png

代码:

module common{
    /**
     * 通用面板皮肤
     * @author Husz
     */
    export class CommonPanel extends eui.Component implements eui.UIComponent{

    }
    if( egret.Capabilities.runtimeType == egret.RuntimeType.WXGAME ){
        window["CommonPanel"] = CommonPanel;
    }
}