我的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
时,我没有看到任何提示已设置代理的提示,输出为:
如您所见,它只有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 。谁能告诉我为什么?
答案 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