javascript extjs model-view-controller extjs4

javascript - La aplicación ExtJS no busca en la carpeta de la aplicación correcta



model-view-controller extjs4 (3)

Debes configurar el appFolder ex:

Ext.application({ name: ''AM'', appFolder: "Physical path of appfolder", autoCreateViewport: true, controllers: [ ''Users'' ] });

Crea el objeto para la clase anterior. Obtendrá la ruta correcta para los controladores

En este tutorial , hay un código que dice:

Ext.require(''Ext.app.Application''); var Application = null; Ext.onReady(function() { Application = Ext.create(''Ext.app.Application'', { name: ''AM'', controllers: [ ''Users'' ], launch: function() { //include the tests in the test.html head jasmine.getEnv().addReporter(new jasmine.TrivialReporter()); jasmine.getEnv().execute(); } }); });

Para mí, esto lleva a un 404 cuando la aplicación está buscando el código de la aplicación.

GET http://localhost:8000/AM/controller/Users.js?_dc=1394340001581 404 (File not found)

¿Por qué usa el nombre de la aplicación (AM) en lugar de la carpeta ''app'' como de costumbre? Traté de configurar la configuración ''appFolder'' directamente en vano también. Funciona bien cuando creo la aplicación normalmente usando

Ext.application({ name: ''AM'', // automatically create an instance of AM.view.Viewport autoCreateViewport: true, controllers: [ ''Users'' ] });

Estoy sirviendo la aplicación con un simple servidor http desde el directorio raíz de la aplicación (donde viven index.html y app.js) y usando extjs 4.2.1.883.


Nunca supe por qué no funcionaba para mí, pero para continuar con el tutorial, acabo de utilizar Ext.application y le asigné la aplicación a una var global en el lanzamiento, es decir:

Ext.application({ requires: [''Ext.container.Viewport''], name: ''AM'', controllers: [ ''Smiles'' ], autoCreateViewport: false, launch: function() { window.Application = this; } });


esta es la forma de configurar comúnmente el mapeo de ruta:

Ext.Loader.setConfig({ enabled: true, paths: { ''AM'': ''app'' } });