我正在为我的 Sencha Touch 2.2 应用程序使用自定义代理和 API。API 用于连接我们使用的框架,该框架处理所有数据和身份验证。
当我使用代理和 API 而不使用 Sencha CMD 构建时,我没有任何问题。当我使用 Sencha CMD 构建应用程序时,命令“sencha app build testing”,API 没有正确添加。它已添加到资源中,但未从我的代理中正确引用。因此我无法使用该应用程序,因为代理无法加载 API 并给出错误。
我将 APIy 添加到我的 app.json 中:
"js": [
{
"path": "resources/{foldername}/{APIName}.js"
}
]
我想我也应该将它添加到另一个地方以使其正常工作,但我不确定在哪里。我需要代理中的 API,我的代理位于文件夹 'app/{foldername}/proxy' 中,包含以下元素:
Ext.define('{ProxyName}.proxy', {
singleton: true,
_api: null,
api : function() {
if(!this._api) {
this._api = new {apiName}.Data;
this._api.allowDataTransfer(true);
}
});
Ext.define('{ProxyName}.proxy.{ProxyName}proxy', {
extend: 'Ext.data.proxy.Proxy',
// implements CRUD and references to {ProxyName}.proxy.api() a few times
});
在 app.js 中,我设置了代理的路径,Ext.Loader.setPath()
并将代理添加为必需项。
如何正确地将我的 API 添加到我的应用程序中?