Как мне заставить Socket.io работать с Svelte? - PullRequest
1 голос
/ 28 апреля 2020

Я пытаюсь заставить socket.io работать с Svelte, с которым я недавно начал экспериментировать, который находится в стандартном виде, как установлено в инструкциях, приведенных на https://svelte.dev/.

Я в недоумении, почему я получаю bundle.js:4497 GET http://localhost:5000/socket.io/?EIO=3&transport=polling&t=N72840H 404 (Not Found) ошибок, независимо от того, какие комбинации я пробую с тем, что у меня работало на более раннем сервере 'basi c' Node.js, соответствующий код которого выглядел как Итак:

const express = require('express');
const app = express();
const server = http.createServer(app)
const io = require('socket.io')(server,{
    transports: ['websockets', 'polling'],
    upgrade:false,
    cookie:false
});
const sockets = require('./models/socket')(io)

Я пробовал многочисленные комбинации вышеупомянутых, предложенных в разных местах с альтернативами, такими как:

require('http').Server(app)

... почему .Server(), а не .createServer()? Никто никогда не объясняет. Я пробовал с app и express и server or app.listen и без, некоторые уроки / посты есть, другие нет - не знаю, является ли это обязательным условием или нет. Многие примеры имеют localhost, многие нет. Иногда с числом после двоеточия, иногда - нет.

На входе (в файле .svelte) попытались с import io from 'socket.io-client', с cdn в файле индекса. html и с <script src="../socket.io/socket.io.js"></script> (без точек, 1 точка, без sla sh, et c) в голове. Последний был другим, потому что он не был найден до попытки соединения с io(), где и возникает постоянная ошибка.

io() иногда предлагается как io.connect() или io.connect('localhost') или io.connect('localhost:3000 or 8080 or some other). Бог знает почему.

Это связано с тем, как работает Rollup.js комплектация? Я осмотрелся, но ничего не дает полезных подсказок.

Если в моем сообщении не хватает детализации или информации, пожалуйста, укажите это в комментариях, и я отредактирую его, чтобы предоставить столько деталей, сколько необходимо. Спасибо!

...