在Angular.io中配置HTTP的端口

时间:2017-02-07 21:13:35

标签: angular

我想创建一个angular.io应用程序,但其余的API应该从不同的服务器端口提供。

来自localhost的角度内容:4200,来自节点快速服务器的数据在localhost:3000上独立启动。 但是当我注入并使用' http'时,如何配置要使用的端口?

3 个答案:

答案 0 :(得分:6)

以某种方式获取“正确”URL的解决方案无法正常工作 事实证明,这导致了一种情况,其中在休息服务器上看到http.put(...)作为OPTIONS请求。

Angular $http is sending OPTIONS instead of PUT/POST

我找到了一种工作方式,通过从角度服务器代理到其余服务器:

angular-cli server - how to proxy API requests to another server?

ng serve --proxy-config proxy.conf.json

proxy.conf.json:

{
   "/api": {
      "target": "http://localhost:3000",
      "secure": false
   }
}

答案 1 :(得分:5)

假设您正在使用Angular CLI来构建您的项目(我希望您是这样),您应该已经可以访问不同的环境设置。这些文件允许您轻松地为应用程序提供值,这些值可能会根据其运行位置而有所不同。

environment.ts为您的环境值提供界面,然后environment.qa.tsenvironment.prod.ts等(您可以根据需要创建任意数量的环境)允许您指定与之对应的不同值那个环境。

假设您的环境文件中有类似的内容:

export const environment = {
    myEndpoint: 'localhost:3000'
}

您可以使用--env标志运行或构建应用程序以获取适当的值:

ng build --env=qa

访问env配置中定义的值很简单。在您的服务或组件中,只需为环境添加导入:

import { environment } from '../../environments/environment';

然后使用值:

this.http.get(environment.myEndpoint)

答案 2 :(得分:-1)

只需将其添加到网址

即可
this.http.get('http://localhost:3000')