2013-05-06 53 views
3

有没有人有没有安装Web服务器(如LAMP/XAMP)如何运行sencha touch 2应用程序的任何想法。 (PS:我是Sencha Touch的新手)如何在没有Web服务器的情况下运行Sencha Touch 2应用程序?

我知道有一种方法 - 包括phonegap's JavaScript文件在Sencha Touch 2应用程序的app.json中。这看起来像这样

"js": 
    { 
     "path": "cordova-2.5.0.js" 
    } 

之后,示例应用程序在没有Web服务器的浏览器上运行。

  1. 还有其他方法吗?

  2. 如何添加phonegap js文件有助于无需Web服务器运行sencha触摸应用?

回答

3

--allow-file-access-from-files --disable-web-security标志开始铬也是诀窍。

Sencha需要网络服务器,因为如果应用程序处于开发模式microloader在sencha使Ajax请求app.json文件,并从中载入其他文件。您可以在

看到这个../sencha-sdk/mircroloader/development.js

文件,下面的代码 -

var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'app.json', false); 

当你开始与上述标志的镀铬,即使文件以file://.... url方案打开,chrome也允许发出ajax请求。

当您使用sencha cmd压缩js/css后部署应用程序时,所有文件都会聚合成一个文件。在这种情况下,你不再需要Web服务器。


更新

从科尔多瓦文档中的Apache Cordova 白名单域

域白名单是一个安全模式控制访问外域,如http://google.com。默认安全策略是阻止所有网络访问。然后应用程序开发人员可以声明访问特定的网络域和子域。

而且

Widget Access specification,该元件被用于声明访问特定的网络域。未来,Apache Cordova会将平台白名单实现抽象为W3C Widget Access规范。但是,现在每个平台都必须实现自己的域名白名单。

而且,W3C Widget Access不包含安全和用户代理强制策略。它在XMLHTTPRequest中定义。

那么科尔多瓦必不可少的是,在策略中添加一个例外,允许访问应用程序域外的特定网络资源,列入白名单域。

+0

谢谢你的答案Sachin..any有关Qn 2的想法? – 2013-05-07 05:46:26

+0

我尝试在app.json中添加phonegap,但它没有在浏览器中使用'file://'url方案加载。如果应用程序被压缩用于制作,那么就不需要服务器甚至是'phonegap.js'。 – SachinGutte 2013-05-07 06:40:18

+0

@TusharKoul回答有点迟,希望你能在平时找到它,但对于未来的访问者,我已经回答了第二个问题。 :) – SachinGutte 2013-08-01 20:29:25

相关问题