如何以及在何处为我的角度资源定义默认域?

时间:2015-05-20 16:10:19

标签: angularjs api cross-domain angular-resource

我可以而且应该在哪里为我的角度资源定义默认网址,这样我就不必为每个api端点提供绝对网址了?

(我使用的api位于同一个域,但有一个子域:http://api.myapp.app/api/v1

我对角度很陌生,我正在努力获得彻底的理解,所以如果有人能够向我解释答案背后的“为什么”,我会非常感激。

2 个答案:

答案 0 :(得分:0)

如果您使用像grunt和部署服务器这样的构建系统会发生变化,我会调查grunt-ng-constant

否则,您只需在应用配置中定义一个常量,如:

angular
    .module('app', [])
    .constant("ENV", {
        "ApiEndpoint": "somedomain.com"
    });

然后你就可以传递它:

angular.module('app').controller('SomeCtrl', function(ENV) {
    // ENV.ApiEndpoint
});

本身并非真正的默认设置,但至少您不会手动需要在每个资源中输入您的基本域,您只需要引用ENV.ApiEndpoint

答案 1 :(得分:0)

您可以在主html文件的头部使用它: <base href="/base-url">

如angularjs docs here中所述..向下滚动到Relative Links