2014-11-06 61 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