angularjs – Angular js读取环境变量
发布时间:2020-12-17 07:26:29 所属栏目:安全 来源:网络整理
导读:我试图在http get调用中读取环境变量 $http.get('http://' + $location.host() + ':8080/api') 我希望能够读取environmen变量并将其用作上面API调用中的http rest服务器,如下所示 $http.get('environmental_variable ':8080/api') 注意:我不知道环境变量直
我试图在http get调用中读取环境变量
$http.get('http://' + $location.host() + ':8080/api') 我希望能够读取environmen变量并将其用作上面API调用中的http rest服务器,如下所示 $http.get('environmental_variable ':8080/api') 注意:我不知道环境变量直到运行时因此我不能将值作为常量使用
浏览器中没有环境变量这样的东西.
$location服务始终会获取您当前的URL.我想你的API可能存在于不同的主机上. 通过将配置存储在Angular常量中,可以模拟环境变量. app.constant('env',{ API_URL: "http://someurl.com:8080/api" }); 然后,您可以将此常量注入其他提供程序. app.controller('MyController',function($http,env) { $http.get(env.API_URL); }); 这是best practices with constants上的一篇不错的文章.本文赞成不使用常量,因为能够修改配置而不必重建代码是有用的. 我通常处理这个的方法是将所有实例配置细节移出到config.json文件,然后在我引导我的应用程序时用$http加载它. 例如,您可能有这样的配置文件. { apiUrl: "http://someurl.com:8080/api" } 然后加载它的Angular服务. app.service('Config',function($http) { return function() { return $http.get('config.json'); }; }); 然后其他服务可以获得承诺,这将在解析时公开配置. app.controller('MyController',Config) { Config() .then(function(config) { $http.get(config.apiUrl); }); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |