Angular-cli:无法设置代理

时间:2017-10-10 12:46:41

标签: angular webpack proxy webpack-dev-server

我的angular-cli版本 1.4.4 ,我按照此处的构造来设置后端代理: How to set backend proxy with angular-cli

所以我在package.json旁边生成一个名为proxy.conf.json的文件,内容为:

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

但是,当我输入命令ng serve --proxy-config proxy.conf.json时,我没有看到任何提示已设置代理的提示,输出为: startup info 如您所见,它只有webpack编译信息,没有关于[HPM] Proxy created: /api -> http://localhost:8080的信息已经输出。

现在我有一个api电话,api路线是/api/authenticate。我认为它应该重定向到http://localhost:8080/api/authenticate,但它没有指向http://localhost:4200/api/authenticate,当然它返回 404 not found 。谁能告诉我为什么?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我通过在JSON中添加“ pathRewrite ”键来解决问题。

因此,请将您的代理配置文件更改为此。

{
 "/api": {
 "target": "http://localhost:8080",
 "secure": false,
 "pathRewrite": {"^/api" : "/api"}
 }
}

是的,webpack编译也没有显示有关我的代理配置的任何信息。

编辑1:如果您还没有收到,请查看此链接 Angular-CLI proxy to backend doesn't work

还使用“serve”而不是“start”运行服务器。例如

  

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