#javascript #node.js #express #sockets #socket.io
Вопрос:
На стороне сервера
app.get('/:room', (req, res) => {
if (rooms[req.params.room] == null) {
return res.redirect('/')
}
res.render('room', { roomName: req.params.room })
})
io.of("/rooms").on('connection', socket => {
socket.on('send-chat-message', (room, message) => {
socket.to(room).broadcast.emit('chat-message', { message: message, name: rooms[room].users[socket.id] })
})
}
Сторона клиента
const socket = io('http://localhost:3000/rooms')
socket.on('chat-message', data => {
appendMessage(`${data.name}: ${data.message}`)
})
Приведенный выше код работает отлично. Моя цель-сделать так, чтобы чаты были на другом пути. Пример: теперь чаты включены http://localhost:3000/currentRoomname/ но моя цель-сделать это http://localhost:3000/rooms/currentRoomname так что я могу использовать больше маршрутов, а чаты разделены
Моя проблема в том, что когда я изменяю app.get(‘/:room « на app.get (‘/rooms/:room», он перестает работать, и в консоли чата я получу неперехваченную синтаксическую ошибку: Неожиданный токен «<» script.js:1 ошибка
Любая полученная помощь