Extjs 如何使用Cordova/PhoneGap构建sencha应用程序

Extjs 如何使用Cordova/PhoneGap构建sencha应用程序,extjs,build,cordova,Extjs,Build,Cordova,对于客户端,我需要使用Sencha Touch和Cordova构建本机应用程序 为了提高性能,我使用SDK Tools中的命令“sencha app build package”来简化javascript源代码 如果我使用Sencha进行开发,使用Corova进行webview,那就没有问题了。但是我需要使用Cordova函数(比如文件系统,…),这是我用Sencha无法做到的 问题是,当我使用“sencha app build package”时,会出现类似[ERROR]ReferenceEr

对于客户端,我需要使用Sencha Touch和Cordova构建本机应用程序

为了提高性能,我使用SDK Tools中的命令“sencha app build package”来简化javascript源代码

如果我使用Sencha进行开发,使用Corova进行webview,那就没有问题了。但是我需要使用Cordova函数(比如文件系统,…),这是我用Sencha无法做到的

问题是,当我使用“sencha app build package”时,会出现类似
[ERROR]ReferenceError:找不到变量:fileSystem

我读了很多关于Sencha+Cordova的帖子,但是没有一篇谈论使用Cordova+Sencha构建/缩小源代码

有没有人遇到过这个问题?你是如何解决的

致意

更新日期:2012年5月31日

对于需要访问cordova变量的每个方法,我都使用一个名为CordovaFunctions.js的文件,我的app.js和其他视图/控制器调用CordovaFunctions.js中的方法

这是我的app.json:

{
/**
*Sencha命令用于生成类的应用程序命名空间
*/
“名称”:“ImageDownloader”,
/**
*此应用程序前端HTML文档的文件路径,相对于此app.json文件
*/
“indexHtmlPath”:“index.html”,
/**
*开发环境中此应用程序的绝对URL,即:运行此应用程序的URL
*在开发过程中在web浏览器上,例如:http://localhost/myapp/index.html".
*
*如果应用程序需要服务器端资源,则在生成时需要此值来解析应用程序的依赖关系
*无法通过文件系统协议访问的。
*/
“url”:空,
/**
*以正确的执行顺序列出所有JavaScript资产。
*每个项目都是具有以下格式的对象:
*      {
*“path”:“path/to/script.js”//此app.json文件的相对路径
*“更新”:“增量”//(可选)
*//-如果未指定,此文件将只加载一次,并且
*//缓存在localStorage中,直到更改此值为止。
*//-“增量”以启用此文件的空中增量更新
*//-“完整”表示此文件更改时将进行完整更新
*
*      }
*/
“js”:[
{
“路径”:“cordova-1.7.0.js”
},/*
{
“路径”:“CordovaFunctions.js”
},*/
{
“路径”:“sdk/sencha touch.js”
}
,
{
“路径”:“app.js”,
“bundle”:true,//表示生成时所有类依赖项都连接到此文件中
“更新”:“增量”
}
],
/**
*按正确的包含顺序列出所有CSS资产。
*每个项目都是具有以下格式的对象:
*      {
*“path”:“path/to/item.css”//此app.json文件的相对路径
*“更新”:“增量”//(可选)
*//-如果未指定,此文件将只加载一次,并且
*//缓存在localStorage中,直到将此值更改为以下任一值
*//-“增量”以启用此文件的空中增量更新
*//-“完整”表示此文件更改时将进行完整更新
*
*      }
*/
“css”:[
{
“路径”:“resources/css/app.css”,
“更新”:“增量”
}
],
/**
*用于在生成时自动生成cache.manifest(HTML 5应用程序缓存清单)文件
*/
“appCache”:{
/**
*缓存清单部分中的项目列表
*/
“缓存”:[
“index.html”
],
/**
*网络部分中的项目列表
*/
“网络”:[
"*"
],
/**
*回退部分中的项目列表
*/
“回退”:[]
},
/**
*生成时要复制的额外资源
*/
“资源”:[
“资源/图像”,
“资源/图标”,
“资源/启动”
],
/**
*复制到生成时要忽略的文件/目录名称匹配器必须是有效的正则表达式
*/
“忽略”:[
“\.svn$”
],
/**
*用于存储所有以前的生产版本的目录路径。请注意,此目录中生成的内容
*必须保持完整,以便在更新之间正确生成增量
*/
“存档路径”:“存档”,
/**
*为每个环境生成此应用程序的默认路径
*/
“构建路径”:{
“测试”:“构建/测试”,
“生产”:“建造/生产”,
“包”:“构建/包”,
“本机”:“生成/本机”
},
/**
*构建选项
*/
“构建选项”:{
“产品”:“触摸”,
"民本":3,,
“调试”:错误,
“记录器”:“否”
},
/**
*此应用程序唯一生成的id,用作本地存储密钥的前缀。
*通常,您不应更改此值。
*/
“id”:“dfbad430-a63b-11e1-a218-a1757e9a8324”
}

在app.json配置文件中,您需要告诉Sencha build命令,您的应用程序需要phoneGap库。将其添加到js节点:

/**
*以正确的执行顺序列出所有JavaScript资产。
*每个项目都是具有以下格式的对象:
*      {
*“path”:“path/to/script.js”//此app.json文件的相对路径
*“更新”:“增量”//(可选)
*//-如果未指定,此文件将只加载一次,并且
*//缓存在localStorage中,直到更改此值为止。
*//-“增量”以启用此文件的空中增量更新
*//-“完整”表示此文件更改时将进行完整更新
*
*      }
*/
“js”:[
{
“路径”:“sdk/sencha touch.js”
},
{
“路径”:“cordova-1.5.0.js”
},