Я пытаюсь узнать, как создать приложение для чата, используя socket.io
, ejs
, nodejs
...
Так что я в основном изучаю код из следующего репо: https://github.com/ngrt/simpleChatApp
Структура папок похожа на
simpleChatApp
(родительская папка)
-views (содержит index.ejs
)
-public (содержит style.css
иchat.js
) -app.js (файл с кодом сервера)
app.js имеет app.use(express.static('public'))
, поэтому public работает как root
Теперь проблема в chat.js (который содержит клиентскую часть)
ниже изображение является частью chat.js
send_message.click(function(){
socket.emit('new_message', {message : message.val()})
})
//Listen on new_message
socket.on("new_message", (data) => {
feedback.html('');
message.val('');
chatroom.append("<p class='message'>" + data.username + ": " + data.message + "</p>")
})
В части emit мы толькоотправил поле сообщения ..... тогда как в части socket.on мы использовали data.username () ... Теперь из того, что я считаю, данные - это в основном объект, который мы отправили в emit .... который не содержал никакихимя пользователя .. так как он может его использовать .. потому что это рабочее репо, поэтому код правильный .. но я не могу понять, почему