Подтвердить что ты не робот

Где находится файл .js на стороне клиента Socket.IO?

Я пытаюсь получить socket.io(Node library) для работы.

Я работаю на стороне сервера js, и он слушает. Сайт socket.io просто говорит:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

Хорошо, однако, какой JS файл я импортирую!?!

Я зашел в каталог node_modules, где я установил socket.io через npm, а внутри socket.io/lib/ - socket.io.js. Однако это серверная сторона (использует фразу require(), какие ошибки на клиенте).

Я провел час, оглядываясь по сторонам, и я не могу заставить какой-либо клиентский файл .js работать.

Что мне не хватает?

4b9b3361

Ответ 1

Мне удалось в конце концов ответить на это для себя.

Эта страница сокета socket.io не понятна, но я обнаружил, что серверная часть socket.io автоматически размещает файл .js при запуске node в каталоге, указанном в документации:

"/socket.io/socket.io.js"

Итак, вы буквально просто указываете на этот URL-адрес, независимо от структуры вашего веб-приложения, и он работает.

Ответ 2

Я бы предложил проверить, находится ли ваш каталог node_modules на верхнем уровне вашего каталога приложений. Кроме того, я считаю, что вам нужно указать номер порта; вы должны написать что-то вроде var socket = io.connect('http://localhost:1337');, где номер порта 1337.

Ответ 3

Здесь вы можете найти CDN для различных версий.

Ответ 4

зайдите в папку вашего клиента и выполните команду npm install

Ответ 5

Клиент доступен несколькими способами:

  • предоставляется сервером /socket.io/socket.io.js адресу /socket.io/socket.io.js
  • встроенный через веб-пакет как модуль socket.io-client
  • через официальный CDN https://cdnjs.cloudflare.com/ajax/libs/socket.io/<version>/socket.io.js

Во-первых, сервер может быть настроен несколькими способами:

// standalone
var io = require('socket.io')(port);

// with existing server from e.g. http.createServer or app.listen
var io = require('socket.io')(server);

Ответ 6

Если вы сделали npm install, то файл файла socket.io клиента находится в node_modules/socket.io-client/dist/socket.io.js