Egret社区

[Egret Engine] EUI关于2003: EXML解析错误

2021-2-26 14:48
36377
产品 Egret Engine 版本 5.4.0
复现概率 100% 平台 Windows 10
复现步骤 直接运行
问题描述 当一个皮肤嵌套另一个皮肤时,被嵌套进入的皮肤往往找不到
错误代码 #2003: EXML解析错误 skins.nestingTwo: 无法找到节点所对应的类定义
BUG截图
本帖最后由 Aonaufly 于 2021-2-26 15:11 编辑

Egret UI Editor : 1.12.1

以前的方案:
如果使用模块编程方案来编写Ui,则不会导致错误, 如所有的UI类加一个namespace panel,如下(只提供一个实例代码):
  1. /**
  2. * UI最底层
  3. */
  4. namespace panel{
  5.     export class NestingOneUI extends eui.Component implements  eui.UIComponent{
  6.         private labName: eui.Label;

  7.         public constructor() {
  8.             super();
  9.             // this.skinName = "resource/skins/nestingOne.exml";
  10.         }

  11.         protected childrenCreated(): void {
  12.             super.childrenCreated();

  13.         }

  14.         public init( name: string ): void{
  15.             this.labName.text = name;
  16.         }
  17.     }
  18. }
复制代码
而关于eui的皮肤文件,则有这样的标记 xmlns:panel="panel.*" , 预计是找到相关的皮肤类

(新)使用ES6方案就会报错(import方案):
代码如下(只提供一个实例代码):
  1. /**
  2. * UI最底层
  3. */
  4. export class NestingOneUI extends eui.Component implements  eui.UIComponent{
  5.     private labName: eui.Label;

  6.     public constructor() {
  7.         super();
  8.         // this.skinName = "resource/skins/nestingOne.exml";
  9.     }

  10.     protected childrenCreated(): void {
  11.         super.childrenCreated();

  12.     }

  13.     public init( name: string ): void{
  14.         this.labName.text = name;
  15.     }
  16. }
复制代码


而关于eui的皮肤文件,则有这样的标记xmlns:panel="*" , 预计是找到相关的皮肤类




报错如下:


报错信息

报错信息
分享到 :
0 人收藏

7 个回复

倒序浏览
app小王子  社区管理员 | 2021-3-1 14:50:27
解决办法:在Main.ts中import这些自定义组件所对应的ts文件。
import "./XXX.ts"

WechatIMG340.png

点评

Thx , 解决了  发表于 2021-3-1 16:43
app小王子  社区管理员 | 2021-2-26 14:53:36
请问使用的是webpack modern编译模式吗?

回帖奖励 +5 银子

Aonaufly  自成一派 | 2021-2-26 14:54:55
app小王子 发表于 2021-2-26 14:53
请问使用的是webpack modern编译模式吗?

是的
Aonaufly  自成一派 | 2021-2-26 14:56:16
app小王子 发表于 2021-2-26 14:53
请问使用的是webpack modern编译模式吗?

为什么我上传附件总是失败?
Aonaufly  自成一派 | 2021-2-26 15:54:08
app小王子 发表于 2021-2-26 14:53
请问使用的是webpack modern编译模式吗?

即便是使用最新的eui编辑插件也会报错 new EuiCompilerPlugin('debug'),//新的 eui 编译器
Aonaufly  自成一派 | 2021-3-1 13:39:00
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部