2013-07-31 33 views
0

我目前正忙於使用Sencha Touch 2.2.1,並試圖讓它通過HTML5 cache.manifest離線運行。任何人都知道如何讓這個工作?我只能從最後一個版本中找到不再有效的舊指南。一些擺弄後,我有我的清單如下:啓用Sencha Touch 2.2.1離線

CACHE MANIFEST 
index.html 
app.js 
touch/microloader/development.js 

但這似乎在development.js腳本拋出錯誤時,它試圖發送獲取app.json文件。是否有一些Sencha設置需要針對離線模式進行調整?感謝您的幫助。

回答

2

經過一番狩獵後,似乎這個功能在Sencha Touch 2.0中出現,但仍然有點不完整。爲了得到它的工作,具體操作如下:

  1. 您必須安裝煎茶命令行(你可能 已經因爲它需要做的 首位煎茶項目)。

  2. 導航到命令行

  3. 使用sencha app build production命令「編譯」項目到單個文件

  4. 導航到你的生產目錄中YourApp/build/YourApp/production

  5. 項目的父目錄Chane延伸cache.appcachecache.manifest

  6. 編輯index.html文件的html標記,以便manifest="cache.manifest"

  7. 確保您的服務器配置服務文件正確

現在你的產品代碼應該有一個工作緩存清單。請注意,你只需要改變的擴展,使應用程序適用於iOS,它似乎在瀏覽器中工作(或者至少鉻,我測試了這一點)與.appcache擴展。

編譯生產似乎是產生一個緩存清單文件的唯一方法,但你可以使用一個測試構建這個相同的文件,如果你不想精縮調試的所有代碼。當然,您必須複製清單並確保它在您的測試版本的html標記中被引用。

總而言之,Sencha顯然需要在這裏更新他們的文檔,但我很高興我發現了這一點。我只用一個超級基本的,靜態的,兩頁的應用程序來測試它。希望它體面地擴展。

0

除了手動更改生產包的,你應該在「應用程序緩存」後app.json線改變。以下是將煎茶CMD生成,並且將工作運行煎茶應用建立生產後就好了。

您可以在這裏看到https://github.com/flrent/ConfMate/blob/master/app.json#L79

+0

一個活生生的例子問題不清單的內容,這是它似乎並不像它會改變其文件名。 – Primus202

+0

爲什麼你需要改變來體現? HTTP://www.html5rocks。com/en/tutorials/appcache/beginner /它適用於所有具有appcache文件標準擴展名的移動瀏覽器和桌面瀏覽器。這就是爲什麼生成.appcache而不是.manifest。 –

+0

我會再試一次。我還遇到了一個問題,Sencha無法將我的JSON文件放入生成構建目錄,因此我不得不將它們複製到自己的目錄中。而且,它在離線狀態下無法正確使用AJAX來閱讀它們。令人沮喪!我需要弄清楚如何加載本地JSON文件並將它們存儲在本地存儲中我相信但它很棘手。 – Primus202