我有一个AngularJS工厂函数,如:
service.getUserRates = function() {
return $http.get('https://localhost:8443/portfolio/get-user-rates');
}

这在localhost上工作正常,但在部署到数字海洋服务器之前,我必须更新URL以包含服务器的IP地址 - $http.get('http://67.205.xx.xxx:8443
,而不是localhost
或我得到{{} 1}}错误。
这很难管理,因为我在本地计算机上开发并将更改拉到云服务器中,每次我执行新的git推/拉时我都要不断更改URL。
管理此操作的最简单/最佳方式是什么,因此我不必反复手动更改网址?
答案 0 :(得分:0)
我之前见过的一个简单的解决方案是替换所有出现的
webView.setWebViewClient(new MyWebViewClient());
String currentUrl;
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
currentUrl=url;
return true;
}
}
与
https://localhost:8443
您始终可以使用$window.location.protocol + '//' + $window.location.host
在整个应用程序周围共享主机名。
这具有支持子域名的额外好处。您无需更改任何内容即可将代码部署到angular.module('yourAppName').constant
或test.yourdomain.com
。
答案 1 :(得分:0)
只需使用根相对网址:
app.service("dataService", function() {
this.getUserRates = function() {
return $http.get('/portfolio/get-user-rates');
}
});
通常,最佳做法是使用相对URL,以便您的网站不会绑定到当前部署的基本URL。例如,它可以在localhost上以及在您的公共域上工作,而无需修改。