在此tutorial中,代码为:
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();
}
});
});
对我来说,当应用程序查找应用程序代码时,这会导致404。
GET http://localhost:8000/AM/controller/Users.js?_dc=1394340001581 404 (File not found)
为什么它像往常一样使用应用程序名称(AM)而不是'app'文件夹?我尝试直接设置'appFolder'配置无效。当我使用
创建应用程序时,它工作正常Ext.application({
name: 'AM',
// automatically create an instance of AM.view.Viewport
autoCreateViewport: true,
controllers: [
'Users'
]
});
我正在使用来自根应用程序目录(index.html和app.js所在的位置)的简单http服务器并使用extjs 4.2.1.883来提供应用程序。
答案 0 :(得分:1)
您必须设置 appFolder ex:
Ext.application({
name: 'AM',
appFolder: "Physical path of appfolder",
autoCreateViewport: true,
controllers: [
'Users'
]
});
为上面的类创建对象。您将获得控制器的正确路径
答案 1 :(得分:0)
这是如何通常配置路径映射:
Ext.Loader.setConfig({
enabled: true,
paths: {
'AM': 'app'
}
});
答案 2 :(得分:-1)
我从来没有发现为什么它不适合我,但是为了继续本教程,我只使用Ext.application并将应用程序分配给全局var启动,即:
Ext.application({
requires: ['Ext.container.Viewport'],
name: 'AM',
controllers: [
'Smiles'
],
autoCreateViewport: false,
launch: function() {
window.Application = this;
}
});