У меня проблемы с Laravel Echo (я думаю).Я создал приложение Vue Chat, которое работает локально.Я даже клонировал его на другую машину, и он работал нормально.Но когда я запускаю его в производство, он не работает.Я не запускаю npm на сервере, я просто запускаю npm prod перед фиксацией и отправкой на сервер.По какой-то причине это просто не работает, хотя.Сообщения становятся доступными, так как я вижу их в консоли отладки.
Вот часть кода:
mounted() {
console.log('mounted');
Echo.private(`messages.${this.user.id}`)
.listen('NewMessage', (e) => {
console.log('in echo');
this.hanleIncoming(e.message);
});
axios.get('/contacts')
.then((response) => {
this.contacts = response.data;
});
},
methods: {
startConversationWith(contact) {
this.updateUnreadCount(contact, true);
axios.get(`/conversation/${contact.id}`)
.then((response) => {
this.messages = response.data;
this.selectedContact = contact;
})
},
saveNewMessage(message) {
console.log(message);
this.messages.push(message);
},
hanleIncoming(message) {
if (this.selectedContact && message.from == this.selectedContact.id) {
console.log('inside if of handleincoming');
this.saveNewMessage(message);
return;
}
this.updateUnreadCount(message.from_contact, false);
}
}
Когда локально, я получаю все console.logs, но наЯ получаю только один, и это потому, что saveMessage вызывается при нажатии Enter из окна чата сообщений.Нужно ли что-то устанавливать на сервере, чтобы заставить работать эхо, так как я не делаю npm-установку на сервер.Я не думаю, что узел даже установлен.Как я могу получить эхо для работы на производстве?Любая помощь будет оценена!