【发布时间】:2021-01-03 09:42:09
【问题描述】:
我正在使用 Ext JS v7.1 并且我已覆盖 Ext.Base 来为从 Ext.Base 继承的类设置命名方案:这简化了我的调试。
Ext.define('App.class.Base', {
override: 'Ext.Base',
constructor: function() {
var me = this
/**
* App.base.store.Base => store-base-
* App.store.Menu => store-menu-
*/
if (me.isIdentifiable) {
if (!me.self.prototype.hasOwnProperty('identifiablePrefix')) {
const classNameParts = me.$className.match(/([^\.]+)/g)
if (classNameParts && classNameParts[0] === 'App') {
classNameParts.splice(0, classNameParts.length - 2)
me.self.prototype.identifiablePrefix = classNameParts.reduce((i, j) => i + '-' + j).toLocaleLowerCase() + '-'
}
}
}
return me.callParent()
}
})
此代码之前构建没有错误,但是在我将 Sencha Cmd 升级到 v7.3.0.19 后,我开始出现以下错误:
[ERR] C2016: Override target not found -- /...../packages/local/module-core/overrides/class/Base.js:2:64
[WRN] Override App.class.Base in file /..../packages/local/module-core/overrides/class/Base.js had no target detected
我不知道这是否是执行此覆盖的正确位置/方式,如果不是,我可以更改我的实现。但是,如果没有其他办法,如何摆脱构建错误?
提前致谢,
伊佩克
【问题讨论】:
-
这个错误实际上并没有破坏你的构建,对吧?几个月前,我在这个确切的问题上打开了一个 Sencha 支持线程,支持工程师和我都得出了这个错误实际上不是错误的结论,他们将降级它在 Sencha Cmd 中的显示方式OTOOLS-66 的票。
-
感谢@incutonez 的回复。它确实打破了构建,在它没有之前。实际上它破坏了“生产”构建:
sencha app build -production -uses。但是当我进行test构建时,它既不会给出错误也不会给出警告。 -
嗯,如果是这样,我会鼓励你创建 Sencha 支持票,因为这似乎很紧急。
-
真希望我能帮上忙!当您从 Sencha Support 获得答案时,如果您能在此处添加答案,将不胜感激。