问题陈述:使用angular-cli和Angular-5开发的客户端/用户界面,用户界面正在 http://localhost:4200 上运行我们在 http://localhost:8000 上运行后端服务器,这意味着所有api都会调用http://localhost:8000/users/getuserinfo并正确返回一些json数据。还有其他路线,例如 http://localhost:8000/student/getresult 等。
所以我必须为此创建代理,因为我在http://localhost:4200上的浏览器中运行ng serve
我的应用程序,但同时调用api的url表单,如http://localhost:4200/users/getuserinfo返回结果像404即找不到,但当我在http://localhost:8000/users/getuserinfo的另一个标签中点击url时,它返回json数据。
所以我需要为http://localhost:4200/users/getuserinfo创建代理,使其像http://localhost:8000/users/userinfo一样。我尝试使用DOCS实现但没有成功,也不知道如何在proxy.conf.json文件中获取所有api,有人可以帮助我吗?
以下是我的代码,
{
"/users/userinfo": {
"target": "http://localhost:8000",
"secure": false
}
}
答案 0 :(得分:1)
为api定义代理文件,并使用以下命令启动服务器:
ng serve --proxy-config proxy.conf.json
proxy.conf.json
{
"/users": {
"target": "http://localhost:8000",
"secure": false
}
}
我发现使用/api
为我的所有api路由添加前缀更容易。这使得在生产中提供应用程序时更容易,因为您可以在不以/api
开头的所有路由上返回应用程序,并且它使代理配置同样简单,因为您只需设置一个规则而不是可能多次使用您当前的状态。