2011-08-04 97 views
1

現在,我正在研究一個由多個屏幕組成的遺留Web應用程序,每個應用程序都執行一個單獨的功能。我正在使用MVC方法將幾個屏幕轉換爲EXTJS 4。爲了隔離我的更改造成的影響,並且因爲我們沒有時間一次轉換整個應用程序,我已將兩個屏幕轉換爲兩個單獨的EXTJS 4應用程序。每個屏幕現在都有自己的文件夾,我在其中使用適當的文件結構和app.js文件設置了一個應用程序。在ExtJS 4應用程序之間共享模型,視圖和控制器

我的問題是這樣的:當我繼續開發時,我可能想在另一個應用程序中使用來自一個應用程序(屏幕)的模型。你如何在應用程序之間共享模型,視圖和控制器?什麼是最好的方法?

通知你,我用自動加載拉一切。

感謝

回答

2

我不會在生產中使用自動加載,因爲它產生了許多HTTP請求來獲取所有文件,這會減慢頁面加載速度。這在Google's Page SpeedYahoo's Best Practices for Speeding Up Your Web Site有詳細記錄。

最佳實踐是在部署應用程序時預處理資源,並生成一個JavaScript文件,其中包含以單個(GZIP)壓縮響應發送的所有內容。這項工作有幾種工具,但很大程度上取決於你的工具鏈。例如,您可以看看SO問題Best JavaScript compressor以獲得各種壓縮機的建議(我使用Jammit)。

當你在你的工具鏈靈活配置JavaScript壓縮機,你可以設置一個共享文件夾,你有你的共同文件,如modelstores和一些libs。這些現在包含在不同項目的構建中。

如果您有充分的理由來提供單個JavaScript文件,您可以使用一個好的版本控制系統,如git,並使用submodules。這種方法你將有一個單獨的公共文件庫。這會給你帶來較慢頁面速度的負面影響,並且在更新子模塊時會帶來一點開銷。

作爲最後的解決方案,您可以在文件系統上使用symbolic link將公用文件夾鏈接到不同的其他項目。

1

這裏是薩基對我說的Sencha Forums

一個頁面上的多個應用程序,或分機MVC 子應用程序還不支持,但是,開發人員正在研究這個 功能,據我所知。我希望這樣的實現最有可能解決(子) 應用程序中重複使用模型,視圖和控制器的問題。

更具體有關鏈接多個應用程序:

我只想MVC組件的軟鏈接文件是這樣的情況。有 他們之間沒有邏輯或功能連接現在,只有我想重用 已經寫好的文件,對不對?

+0

所以這正是我作爲最後一個選項所建議的:使用符號鏈接。 – Netzpirat

相關問題