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



我可以在哪里并且应该为我的角度资源定义一个默认 URL,这样我就不必为我拥有的每个 api 端点提供绝对 url?

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

我对角度很陌生,我正在努力获得彻底的理解,所以如果有人也能向我解释答案背后的"原因",我将不胜感激。

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

否则,您可以简单地在应用配置中定义一个常量,例如:

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

然后你可以像这样传递它:

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

本身不是真正的默认值,但至少您不需要在每个资源中手动键入基本域,您只需要引用ENV.ApiEndpoint

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

正如此处的 AngularJS 文档中所指出的..向下滚动到Relative Links

最新更新