在 chrome 中,在您的堆栈跟踪中,(我认为 Firefox 现在也可以进行堆栈跟踪?)在模块中调用的文件通常(总是?)第一个不是 ext-all 的文件。
Ext.require
是用来自动化的东西(例如js-minification),所以你不能真正自动化它本身。
当你声明一个组件( usingExt.define
或Ext.create
)时,你应该指定 Ext 将用于组件的模块Ext.require
(好吧,如果你想至少摆脱这个警告)
您使用的每个自定义组件都应该或多或少遵循相同的想法:
Ext.define('My.app.Panel', {
extend: 'Ext.panel.Panel', //
requires: [
'My.app.PanelPart2', //Hey! warning is gone!
'My.app.PanelPart3'
]
constructor: function (config) {
this.callParent(arguments);
//...
},
statics: {
method: function () {
return 'abc';
}
}
});
而且,如果您不关心性能,而只想摆脱杂散警告(从技术上讲是精神错乱,您可以在加载程序配置中清除错误消息。
Ext.loader.setConfig({
enabled: true,
paths: {
'My': 'my_own_path'
},
onError:function(){}//or custom handler? :D
请参阅 mitchsimeons 的答案:http ://www.sencha.com/forum/showthread.php?178888-Tons-of-Synchronously-Loading-Warning-Messages
以及为什么需要的博客文章:
http ://www.sencha.com/blog/using-ext-loader-for-your-application