JADE-файл не загружает socket.io - PullRequest
0 голосов
/ 02 октября 2018

Я знаю, что это может быть глупый вопрос, но я учусь использовать WebSockets, и у меня возникли проблемы с этим;Здесь я подключаю сокет-сервер

var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(global.server);
server.listen(8080, function() {
  console.log('Servidor corriendo en http://localhost:8080');
  });
 io.on('connection', function(socket) {
  console.log('Un cliente se ha conectado');
   socket.emit('messages', messages);
   });

, он работает в терминале, я получаю правильное сообщение, в представлении клиента у меня что-то похожее;

extends ../layout
block content
script(src="http://localhost:3000/socket.io/socket.io.js")
script(src='/javascripts/Enfermero/main.js')

И JS этого представления ....

var socket = io.connect('http://localhost:8080', { 'forceNew': true });

socket.on('messages', function(data) {
console.log(data);
 });

В проводнике я всегда получаю:

GET http://localhost:3000/socket.io/socket.io.js net::ERR_ABORTED 404 (Not Found)
main.js:1 Uncaught ReferenceError: io is not defined
at main.js:1
(anonymous) @ main.js:1

Не могли бы вы, ребята, помочь мне?Я провел некоторое исследование, но я вроде не понимаю, что происходит.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

просто используйте script(src="/socket.io/socket.io.js"), socket.io.js находится в node_modules/socket.io-client, поэтому путь известен приложению.

0 голосов
/ 02 октября 2018

Вместо использования script(src="http://localhost:3000/socket.io/socket.io.js") попробуйте использовать ссылочный путь script(src="<path to socket.io>/socket.io/socket.io.js")

Также, я думаю, io инициализируется следующим образом:

socket = io('http://localhost');
socket.connect();

См. ДокументациюКлиентский API здесь: https://socket.io/docs/client-api/

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...