Где находится файл .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 работать.
Что мне не хватает?
Ответы
Ответ 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