Angular 2:使用Http时代理无法正常工作

时间:2017-06-14 23:15:25

标签: angular proxy angular2-http

我正在学习Angular 2 atm并尝试使用代理从外部服务器请求数据。我的proxy.conf.json看起来像这样:

   cd /Applications/Android\ Studio.app/Contents/MacOS/
   env NDK_CCACHE=/usr/local/bin/ccache ./studio

其中X显然是数字。

当我直接导航到localhost:4200 /浏览器中的用户(最新Chrome)时,代理重定向就像一个魅力 - 我从外部服务器显示数据。我的终端也看到了

{
    "/users": {
        "target": "http://XX.XX.XX.78:4444",
        "secure": false,
        "changeOrigin": "true",
        "logLevel": "debug"
    }
}

然而,当我尝试通过Angulars Http在我的服务中通过

获取数据时
[HPM] GET /users -> http://XX.XX.XX.78:4444

我总是收到404错误:

return this.http
  .get(`/users`)
  .map((r: Response) => r.json().data as String[])
  .catch((error: any) => {
    console.error('An friendly error occurred', error);
    return Observable.throw(error.message || error);
  });

奇怪的是,在我的网络标签中,没有证据表明已提出请求。同样在我的终端中,没有关于重定向的消息。

任何想法?我很感激。

1 个答案:

答案 0 :(得分:0)

如果你的代理人不能使用ng serve,你应该创建自己的脚本

你应该在package.json中添加新脚本 - >脚本

"proxyServe": "ng serve -host 0.0.0.0 --proxy-config proxy.conf.json --extract-css ",

现在运行您的应用npm run proxyServe