2013-05-06 48 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

相關問題