在ExtJs 4.2中,我总是在开发环境中使用ext-debug.js
。优于ext-all-debug.js
的优点是每个类都作为单独的文件加载,因此开发人员工具中的回溯更加清晰。
我从ExtJs 4.2升级到5.1,我的app.json看起来像:
/**
* Comma-separated string with the paths of directories or files to search. Any classes
* declared in these locations will be available in your class "requires" or in calls
* to "Ext.require". The "app.dir" variable below is expanded to the path where the
* application resides (the same folder in which this file is located).
*/
"classpath": "${app.dir}/app",
/**
* The Sencha Framework for this application: "ext" or "touch".
*/
"framework": "ext",
"js": [
{
"path": "${framework.dir}/build/ext-all-rtl-debug.js"
},
{
"path": "app.js",
"bundle": true
}
],
当我将行更改为
时"path": "${framework.dir}/build/ext-debug.js"
sencha build failes with this error
[INF] Capturing theme image
[ERR] loading page W%3A/mbgest25dev/sass/example/theme.html
registering ready listener...
[E] [Ext.Loader] Some requested files failed to load.
... dozens of times the same error
ext-debug.js
被加载,但所有类都加载了错误的URL(并获得404错误)
GET http://example.com/packages/sencha-core/src/class/Mixin.js?_dc=1427986581354
代替GET http://example.com/app-directory/ext/packages/sencha-core/src/class/Mixin.js?_dc=1427986581354
当然,sencha app build
中的错误与浏览器中的错误相同。
必须有一个缺少的配置,告诉ext-debug.js
在哪里寻找框架,而ext-all-rtl-debug.js
并不需要知道。
如何配置ExtJs 5.0以使用ext-debug.js
能够从更清晰,更相关的堆栈跟踪中受益?
编辑:
将ext框架类的路径添加到像classpath
这样的"classpath": "${app.dir}/app,${app.dir}/ext",
没有用。 sencha cmd
提供了一些警告,最终无法构建应用程序。
答案 0 :(得分:2)
如果删除这些行
{
"path": "${framework.dir}/build/ext-all-rtl-debug.js"
}
在app.json中你将实现你想要的(Ext将加载你在bootstrap.json文件中写入的所需类)。
答案 1 :(得分:0)
此配置可在三个位置处理,通常按以下顺序处理:
如果你从Ext JS 4升级,很有可能它在sencha.cfg中。寻找 app.framework 和 app.classpath 。
接下来检查app.json,并查找可能覆盖此设置的相同设置。如果所有其他方法都失败了,请尝试使用 paths 属性(对象映射命名空间到目录结构)将它们设置为app.js中的Ext.application来强制路径。