#node.js #server #socket.io #export #emit
#node.js #сервер #socket.io #экспорт #испускать
Вопрос:
Я новичок в веб-разработке, особенно в node, и я борюсь с socket.io . Проблема в том, что мне нужно экспортировать мой «ввод-вывод» в другой файл для отправки сообщений, но это не работает, потому что я, вероятно, делаю это неправильно.
Я перепробовал многие решения StackOverflow, но мне не удалось добиться успеха.
Эти два файла server.js , где находится конфигурация сокета:
let server = http.createServer(app);
let io_fin=io_test.listen(server);
module.exports= io_test;
и в том же файле работает мой «запрос на отправку»:
io_fin.on('connection', function(socket){
console.log('an user connected');
socket.emit('chat message', 'TESTING');
});
В другом файле у меня есть этот импорт :
let yoyo = require('socket.io');
и я пытаюсь излучать так:
yoyo.emit('chat message', 'TEST2');
И API выходит из строя, говоря «yoyo.emit не является функцией».
Я пробовал много разных способов экспортировать его, например:
-
module.exports= io_test(сервер);
-
module.exports= io_fin;
-
module.exports= io_test.listen(сервер);
-
и т.д..
И я чувствую, что я делаю, я пропустил ключевую концепцию сокетов, потому что я полностью застрял! Извините за эту проблему «newbye», но я чувствую, что мне действительно нужна помощь. Заранее спасибо.
Ответ №1:
let yoyo = require('socket.io')
Для этой строки требуется новая socket.io
функция.
Вы экспортируете в свой server.js
, поэтому вы должны импортировать из этого файла, например:
// assuming the file you're importing from is in the same folder as server.js
let yoyo = require('./server');