解决React开发模式服务端Cors问题
文章目录
“解决React开发模式服务端Cors问题
启因
最近在做openai
的后端代理服务,一个后台池账号池,缓冲前端过来的openai
的completion
请求.
后端基本开发完成了,所以需要一个demo前端做测试及演示用,就用react
做了一个简单的前端聊天程序,代码基本由GPT-4
来生成,生成了多次,拼接了一下,由于我也没有写过react
,所以还花了点时间选择拼接,因为CHATGPT
也经常出些错误,懂的人一看就知道,不懂的人就要上当.
程序运行起来后,因为后端给前端的接口是一个websocket
,启动后就报错: Access to XMLHttpRequest at 'http://localhost:3014/socket.io/?EIO=4&transport=polling&t=OSYSDmI' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
解决
查了一些资料,CORS
问题其实需要在SERVER
端解决,首先我的SERVER
端用的是Nestjs
,websocket
用的是WebSocketGateway
,定义如下:
|
|
websockeet
已经加了CORS
了,应该不是这个问题,问题出在localhost:3000
,这个是前端react
用的web
服务,报错也是这个3000
,经过查询,开发模式启动react-scripts
用的是webpack
的开发服,根据官方文档:
新建一个scr/setupProxy.js
|
|
target
填入react
要连接的目标服务器地址, ws
设置成true
文章作者 gowinder
上次更新 2023-03-28