Angularjs 更改给定服务的URL

Angularjs 更改给定服务的URL,angularjs,service,Angularjs,Service,我正在尝试设置一个应用程序,使其能够访问多个环境,但在环境之后使用相同的路径。我有一个代理设置来查看路径并将其转发到正确的服务。我正试图通过使用服务并在路径前加上/dev、/stage/或prod来实现这一点。在创建模块中的服务后,我是否可以修改它以切换到适当的环境并将环境前置到路径?我是否会为每个单独的环境创建服务?对Angular有点陌生,所以我想找出我最好的选择 例如: localhost:8080/dev/user/{id} localhost:8080/stage/user/{id}

我正在尝试设置一个应用程序,使其能够访问多个环境,但在环境之后使用相同的路径。我有一个代理设置来查看路径并将其转发到正确的服务。我正试图通过使用服务并在路径前加上/dev、/stage/或prod来实现这一点。在创建模块中的服务后,我是否可以修改它以切换到适当的环境并将环境前置到路径?我是否会为每个单独的环境创建服务?对Angular有点陌生,所以我想找出我最好的选择

例如: localhost:8080/dev/user/{id} localhost:8080/stage/user/{id} localhost:8080/prod/user/{id}

类似这样的吗

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;
}

当然可以,您可以在运行时修改任何未硬编码的内容。。。现在,你能举一个例子说明你的服务和人们(像我一样)可以帮助你。当人们发布代码时,帮助更容易。。。不一定是您的实际代码,只是您遇到问题的部分。是的,有很多代码要发布,但作为一个例子,我有几个工厂正在使用URL。'code'var services=angular.module('services',['ngResource']);函数getHost(){return window.location.protocol+'/'+window.location.host+'/webapp/'+'test';}services.factory('Customers',['$resource',函数($resource){return$resource(host+'/api/Customers',{},{query method:{GET'}});}]);'所以在本例中,我想动态更改getHost()中的值。因此,对于将驻留在同一URL上的所有不同环境,“测试”、“阶段”和“产品”。似乎工厂的主机存储在一个instance中。因此,我不确定是否需要使用somehome创建函数来动态地将其设置为not。为什么不使返回动态依赖于当前配置?是的,我也在尝试将其注入$resource。似乎一旦创建了$resource,它就不会接受我的新URL