2013-04-21 122 views
5

有一種觀點認爲,當構建豐富的瀏覽器應用程序(JS-heavy)時,它應該被視爲單獨的應用程序而不是「後端」應用程序的一部分。我想知道如何在這種設置中實現構建和部署?獨立的前端應用程序 - 構建和部署策略

說我有java WAR文件公開基於JSON的API(無論是JAX-RS或其他) - 沒有意見。然後,我爲我的前端應用程序提供了靜態內容:js腳本html視圖,css樣式,圖像等。我可以使用專用的構建工具,例如該項目的GruntJS來縮小/預處理等。

但現在我有點卡住了。這樣的構建應該是什麼結果?單獨的WAR只有Grunt創建的靜態文件?怎麼樣部署?我應該將這些WAR整合到一個完整的應用程序中,還是部署兩個單獨的example.com服務靜態和那些靜態使用api.example.com來獲取數據。

另一個問題是關於發展。因此,我希望將js和css連接並縮小,但對於開發來說不太好(調試很困難等)。是否有任何訣竅在開發模式下擁有單獨的源文件並僅在prod版本上連接?

回答

0

我還沒有涉足Java WebDev中,所以我無法爲您提供具體的幫助。但是這種抽象背後的想法通常是公開後端API,從而能夠連接到任何主機上以任何語言編寫的任何類型的客戶端的後端。如果您碰巧開發了API和客戶端,那麼您的問題應該是,如果有可能需要單獨部署客戶端和API。如果有,分別構建它們。如果不是,不要。就個人而言,我會傾向於你的api.example.com和example.com場景。

關於你的第二個主題: 我曾經建立一個ANT腳本來做到這一點。讓你的JS「Classes」放在單獨的「namespaced」文件中,讓腳本連接並縮小它們。您必須以正確的順序將文件輸入到構建腳本中,這可以在小型項目中輕鬆管理。 Idk現在是否有自動化工具。