我目前正在开发一个Ext JS 6应用程序,它在组件上具有一定程度的继承,其中一些别名映射被覆盖。 Ext JS debug非常友好,每当我这样做时都会通知我。
[W] Overriding existing mapping: 'controller.my-controller' From 'MyBase.app.Controller' to 'MySub.app.Controller'. Is this intentional?
就我而言,这是故意的。这些警告正在堆积起来,并且很难看到森林中的树木。
答案 0 :(得分:3)
我建议您重命名别名。
具有相同别名的两个类在尝试实例化其中一个时可能会导致问题。已经有一个great answer to this question用于ExtJS 5的更详细解释。 ExtJs 6的核心概念是相同的。
由于别名应该始终是唯一的(在它的命名空间中),保留警告可能是一个好主意,以防万一你错过了什么......; - )
如果你真的想要抑制这些警告,你可以用空的覆盖Ext.log.warn函数。正如您在ext / packages / core / src / class / Inventory.js中看到的那样,似乎没有别的办法。
希望这能回答你的问题!
答案 1 :(得分:0)
当reduce()
调用addAlias
时,您可以通过强制将“update”参数设置为true来轻松覆盖警告。
addMapping