I have some problems with Extjs4 librairie. I want to use treeEditor component.
Firebug error :
Error : uncaught exception: Ext.Loader is
The real problem is that you are using ext-debug.js, ext.js
instead use: ext-all.js or ext-dev.js
An read about Dynamic Loading
index.html example:
<html>
<head>
<title>Hello Ext</title>
<link rel="stylesheet" type="text/css" href="ext-4/resources/css/ext-all.css">
<script type="text/javascript" src="ext-4/ext-dev.js"></script>
<script type="text/javascript" src="app.js"></script>
</head>
<body></body>
</html>
In the example you dont need to enable Dynamic Loading, because dynamic loading its for development environments. ext-all.js, ext.js is for deploy. ext-all-debug.js and ext-debug.js are for debugging after deploy.
MVC and Dynamic Loading are useless in deploy, because you must have 1 file generated by sencha cmd (aka Sencha Tools).
This worked for me in ExtJs 4. Just added Ext.Loader.setConfig({enabled:true});
to the top of the app.js.
I looked at this and had to step back for a second as I am an ExtJS newbie. I was not clear on what was said about the Generalized statement of place it before the OnReady call.
The following on the Sencha API Docs web site for version 5.0 also shows this example for a good understanding of placement for the call to the Ext.Loader class. Its a little overblown with multiple JavaScript tags in my opinion though.
<script type="text/javascript" src="ext-core-debug.js"></script>
<script type="text/javascript">
Ext.Loader.setConfig({
enabled: true,
paths: {
'My': 'my_own_path'
}
});
</script>
<script type="text/javascript">
Ext.require(...);
Ext.onReady(function() {
// application code here
});
</script>
The change I made to my own personal code I added as below and it worked fine also. This is very simplistic.
Ext.Loader.setConfig({enabled:true});
Ext.application({
name : 'MyApp',
appFolder : 'app',
controllers : [
'MyApp.controller.item.Item'
],
autoCreateViewport : true
});
If your having problems with the Loader then you probably want to review the Ext.require and the Ext.exclude classes too to gain that understanding of how these interact to load your custom classes.
The error is due to not enabling the Loader. You can enable the Ext.Loader by:
Ext.Loader.setConfig({enabled:true});
You need to call this at the start of onReady
method.