squadbrodyaga
@squadbrodyaga
帆は風を変えた

Как исправить CORS ошибку, при попытке установить Socket.io с сервера?

Здравствуйте друзья, получается у меня есть локальный сервер который работает на Express.js и к нему
подключен Socket.io.
const app = require('express')()
const { Server } = require('socket.io')

const server = app.listen(3000)
const io = new Server(server, {
  cors: {
    origin: 'http://localhost:5173', // это URL моего Web-приложения
  },
})

// URL сервера: "http://localhost:3000"


И еще есть отдельное Web-приложение к которому нужно также подключить Socket.io
и я хочу сделать это через свой сервер, по адресу: localhost:3000/socket.io/socket.io.js

Для этого я делаю вот так:
// Клиент
import io from 'http://localhost:3000/socket.io/socket.io.js'

// URL Web-приложения: "http://localhost:5173"


Но в консоли браузера выскакивает ошибка CORS, можно ли как-то это исправить?
Access to script at 'http://localhost:3000/socket.io/socket.io.js' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
  • Вопрос задан
  • 279 просмотров
Решения вопроса 1
В чем смысл подключать этот файл со стороннего ресурса?
Или используй его с CDN, он уже настроен для отдачи нужных CORS заготовков, или просто добавь его в клиенский проект через NPM локально.
Кроме того, зачем ты пытаешся отдать статичный js файл через ноду, для этого обычно настраивают nginx чтобы он отдавал статику
То что ты делаешь это странное извращение.
Если чисто академический интерес, то опиши чего именно ты хочешь добиться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы