首页 > 解决方案 > 如何在下面的节点 js socket io 代码中添加 cors

问题描述

我正在尝试从客户端添加 cors 源,因为它阻止了我的请求,我尝试执行以下命令,但它显示它不是一个函数,你能建议一种将跨源策略添加到我的代码的方法吗

const axios = require('axios');
const express = require('express');
const http = require('http');
const app = express();
const server = http.createServer(app);
const socket = require('socket.io');
const io = socket(server)(8000, {
cors: {
    origin: ['http://localhost:3000'],
},
});

.
.
.
.
.

server.listen(8000, () => console.log('server is running on port 8000'));

标签: node.jsexpresssocket.iocors

解决方案


你应该这样做:

const io = require("socket.io")(httpServer, {
  cors: {
    origin: "https://example.com",
    methods: ["GET", "POST"],
  }
});

您不需要传递端口,而是提供 httpserver。有关更多详细信息,请查看Socket.io文档。


推荐阅读