我是Sencha Touch和Sencha Command的新手。我下载了构建Sencha Touch应用程序的必备工具。当我在Sencha Command中使用以下命令时,应用程序生成正常,但当我尝试使用浏览器访问它时,我只看到加载程序。
sencha -sdk touch-2.3.1 generate app MyApp ./MyApp
在Firefox上查看时,它会在控制台中显示以下错误。
TypeError: Ext.Loader is undefined bootstrap.js: 7
TypeError: Ext.application is not a function app.js: 50
在一些调查中,我发现它正在http://localhost/
下直接在名为touch的目录中查找上述文件。我在http://localhost/sencha/touch-2.3.1
和http://localhost/sencha/MyApp
下拥有Sencha框架和我的应用程序。
MyApp目录下的某些文件具有触摸目录为../../../../touch
的路径。如果我在http://localhost/touch
中复制框架,它可以正常工作。
为什么会发生这种情况?我的应用程序不应该引用http://localhost/sencha/touch-2.3.1
文件夹中的依赖项吗?
我使用默认配置来构建默认应用程序。有人可以指导我可能做错了吗?
答案 0 :(得分:0)
Sencha Cmd假设你的应用程序在网络服务器的根目录运行...所以如果你从子文件夹运行它,你可能会看到这样的问题。
您可以在app.js
中手动设置正确的资源到您的资源//at the very top, before Ext.appliction()
Ext.Loader.setConfig({
enabled: true,
paths: {
'Ext' : '../touch',
'My' : 'app' //or wherever
}
});
如果我理解正确的话,我认为应该解决你的问题。