我有一個相當大的Grails應用程序,它有少量的控制器和視圖以及大量的服務。Grails:兩個站點,一個代碼庫
我現在需要構建一個擁有自己的視圖和控制器(控制器的工作方式有一些細微差異)的同一站點的「reskinned」版本,但同一組服務。一種選擇是通過定製的Grails插件將所有服務轉移到某種常見的地方,但我想知道是否有其他方法。
我想要做的是在控制器文件夾com.company.sitea和com.company.siteb中有兩個包,其中有一個環境變量可以有效地選擇使用哪一個。同樣,兩個不同的視圖集,每個視圖都基於此環境變量進行選擇,但具有共享taglib。
我無法找到任何明顯的做到這一點,是否有插件或標準的做法(或類似的)?這個想法是,我有一個代碼庫,我會構建一場戰爭,但戰爭將部署在兩個不同的地方,並且每一個都會爲特殊的環境變量指定一個值。
老實說,我會去插件路線自己。甚至將服務拉出到他們自己的Grails應用程序(WAR)中,並讓控制器作爲web服務與他們交談。 – Gregg
是的,如果我們不能將它們放在一起,這就是我們要做的事情,但根據我的經驗,分割代碼庫半無用地阻礙了重構,並導致我厭惡的鎖步變更的噩夢。這兩個網站將共享大約98%的功能(不包括視圖細節),將一個代碼庫轉換爲三個代碼庫將是一個恥辱。 – Rod
我也爲「普通」插件路線投票。因爲您已經在製作插件 – Vinny