Before the MVC pattern I would include UX classes simply by including this at the top of the JS, before Ext.onReady:
Ext.Loader.setConfig({enabl
You can combine the Loader params together, making it all easy to read and understand app / file structure. I believe what is happening is you're missing the definition of where library files and app files are - all relative to app.js. Thus when you're loading, the app is trying to use files based off the primary namespace path (extjs/src) instead of application root.
Ext.Loader.setConfig({
enabled : true,
paths: {
'Ext' : 'extjs/src', // library src folder/files
'MyApp' : 'app', // app namespace folder/files
'Ext.ux' : 'ux' // extension namespace folder/files
}
});
The same process works for touch as well - just swap "extjs" for "touch".
If using Architect, you need to select Application, add a Loader (config panel). This will offer a Loader with a path object that can be modified. The enabled option is a checkbox option, defaulting to true.
EDIT: Something I didn't make clear is that the library source and application files do not need to be defined in most cases, especially using default layout of files. This following snippet is often ample:
Ext.Loader.setConfig({
enabled : true,
paths: {
'Ext.ux' : 'ux'
}
});