2014-11-06 31 views
-1

我正在嘗試設置應用程序來擊中多個環境,但環境後使用相同的路徑。我有一個代理設置來查看路徑並將其轉發給正確的服務。我正在嘗試使用這些服務來完成此操作,並在/ dev,/ stage /或prod前加上我的路徑。在創建模塊後,我可以修改模塊中的服務以切換到適當的環境並將環境預先設置爲路徑嗎?我會爲每個單獨的環境創建一項服務嗎?對Angular有點新穎,所以試圖找出我最好的選擇。更改給定服務的URL

實施例: 本地主機:8080的/ dev /用戶/ {ID} 本地主機:8080 /級/用戶/ {ID} 本地主機:8080/PROD /用戶/ {ID}

+0

......現在你可以展示你的服務和人(像我)的一個例子可以幫助你。當人們發佈代碼時,更容易提供幫助......並不一定是您實際的代碼,而只是您遇到問題的部分。 – SoluableNonagon 2014-11-06 21:19:24

+0

是的,有很多代碼發佈,但作爲一個例子,我有幾個工廠正在使用一個URL。 – user2884282 2014-11-07 22:26:59

+0

'code' var services = angular.module('services',['ngResource']); function getHost(){ \t return window.location.protocol +'//'+ window.location.host +'/ webapp /'+'test'; } services.factory( '客戶',[ '$資源',函數($資源){ 回報$資源(主機+ '/ API /客戶',{},{ \t查詢:{ 方法:'GET' } }); }]); 'code' – user2884282 2014-11-07 22:32:37

回答

0

這樣的?

function getHost(){ 

    // qa by default 
    var hostToReturn = window.location.protocol + '//' + window.location.host + '/webapp/' + 'test'; } 
    if(condition to determine if production) 
     hostToReturn = different value; 
    if(condition to determine if staging) 
     hostToReturn = another different value; 

    return hostToReturn; 
} 
當然,你可以,你可以做任何修改在運行時沒有硬編碼的
+0

是的,我正在嘗試將它注入$資源。似乎一旦創建了$資源,它就不會接受我的新網址 – user2884282 2014-11-10 19:47:17