Я пытаюсь заставить 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
комплектация? Я осмотрелся, но ничего не дает полезных подсказок.
Если в моем сообщении не хватает детализации или информации, пожалуйста, укажите это в комментариях, и я отредактирую его, чтобы предоставить столько деталей, сколько необходимо. Спасибо!