如何以及在何处为我的 angular 资源定义默认域?
How and where to define a default domain for my angular resource?
我在哪里可以并且应该为我的 angular 资源定义一个默认 url,这样我就不必为每个 api 端点提供一个绝对 url我有吗?
(我使用的 api 在同一个域中,但有一个子域:http://api.myapp.app/api/v1)
我是 angular 的新手,我非常努力地想获得透彻的理解,所以如果有人也能向我解释答案背后的 "why",我将非常感激。
如果您使用像 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 文档中所述 here ..向下滚动到 Relative Links
我在哪里可以并且应该为我的 angular 资源定义一个默认 url,这样我就不必为每个 api 端点提供一个绝对 url我有吗?
(我使用的 api 在同一个域中,但有一个子域:http://api.myapp.app/api/v1)
我是 angular 的新手,我非常努力地想获得透彻的理解,所以如果有人也能向我解释答案背后的 "why",我将非常感激。
如果您使用像 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 文档中所述 here ..向下滚动到 Relative Links