claude的回答
正确的方法是使用socket.io的CORS中间件来设置CORS头。
首先安装socket.io-cors中间件:
npm install socket.io-cors
然后在server.js中引入并应用这个中间件:
const io = require('socket.io')(3000);
const cors = require('socket.io-cors');
io.use(cors());
io.on('connection', socket => {
// ...
});
调用io.use(cors())就可以为socket.io启用CORS支持。
所以正确的server.js代码如下:
const io = require('socket.io')(3000);
const cors = require('socket.io-cors');
io.use(cors());
io.on('connection', socket => {
console.log('a user connected');
socket.on('chat message', msg => {
console.log('message: ' + msg);
io.emit('chat message', msg);
});
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
其他代码保持不变。
使用socket.io-cors中间件是socket.io官方推荐的设置CORS的方法。
是不是在胡扯?到底有没有socket.io-cors这个