如何解决如何使用webpack-dev-server将socket.io代理到服务器 反应客户: setupProxy.js setupProxy.js
- 节点:v12.19.0
- Egg.js:v2.27.0
- create-react-app:v4.0.0
- http-proxy-middleware:v1.0.6
- socket.io-client:v2.3.1
反应客户:
import io from 'socket.io-client';
const socket = io({
transports: ['websocket']
});
socket.on('connect',() => {
console.log('socket.io client connected!');
});
setupProxy.js
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = (app) => {
app.use(
'/socket.io',createProxyMiddleware({
target: 'http://127.0.0.1:7001',changeOrigin: true,ws: true
})
);
};
上面的代码不起作用。
如果客户端代码如下,则websocket可以很好地工作:
const socket = io('http://127.0.0.1:7001',{
transports: ['websocket']
});
解决方法
我不知道为什么,但这对我有用。 (无需使用 transports
选项)
setupProxy.js
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = (app) => {
app.use(
'/socket.io',createProxyMiddleware({
target: 'ws://127.0.0.1:7001',changeOrigin: true
})
);
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。