我在开发环境中遇到跨域问题,其中webpack-dev-server运行在端口8080上,而后端运行在端口5000上。
这些问题是可以解决的,但是我想知道为什么不麻烦它们不在生产中发生(客户端和后端都将使用相同的端口)
可以解决此问题(例如,通过运行dev服务器并在同一端口上或以其他方式表示吗?)
这对我有用:https://medium.com/@spencerfeng/setup-a-proxy-for-api-calls-for-your-angular-cli-app-6566c02a8
[我觉得大多数人还没有弹出他们的webpack配置...如果您不知道这意味着什么,那么您可能还没有弹出您的webpack配置,因此请在“未弹出”选项下查看。
我会注意,如果您使用的是ng serve
而不是npm start
,则需要切换到npm start
或键入完整的命令ng serve --proxy-config proxy.conf.json
才能使它起作用。
另外在您的proxy.conf.json中:
示例proxy.conf.json:
{
"/api": {
"target": "http://localhost:3001",
"secure": false
},
"/oauth": {
"target": "http://localhost:3001",
"secure": false
},
"/foo": {
"target": "http://localhost:3002",
"secure": false
}
}