如何让Laravel Echo参与生产?

如何让Laravel Echo参与生产?,laravel,server,laravel-echo,namecheap,pusher-js,Laravel,Server,Laravel Echo,Namecheap,Pusher Js,我觉得拉威尔·埃科有问题。我构建了一个在本地运行的vue聊天应用程序。 我甚至把它克隆到另一台机器上,使它工作正常。但当我把它投入生产时,它就不起作用了。 我没有在服务器上运行npm,我只是在提交并推送到服务器之前运行npm产品。 但由于某种原因,它就是不起作用。正如我在调试控制台中看到的那样,这些消息正在传递给pusher 下面是一些代码: mounted() { console.log('mounted'); Echo.private(`messages.${this.u

我觉得拉威尔·埃科有问题。我构建了一个在本地运行的vue聊天应用程序。 我甚至把它克隆到另一台机器上,使它工作正常。但当我把它投入生产时,它就不起作用了。 我没有在服务器上运行npm,我只是在提交并推送到服务器之前运行npm产品。 但由于某种原因,它就是不起作用。正如我在调试控制台中看到的那样,这些消息正在传递给pusher

下面是一些代码:

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.log,但在prod上我只得到一个,这是因为在消息聊天窗口中按enter键时会调用saveMessage。由于我没有在服务器上安装npm,我是否需要在服务器上安装一些东西才能让echo正常工作。我认为甚至没有安装node。我怎样才能让echo从事生产工作?任何帮助都将不胜感激

您在生产环境中启动了echo server吗?

我认为关键是我应该能够使用npm在本地运行生产构建,然后它就可以工作了。你是说我必须运行一个echo服务器才能工作?你需要运行一个兼容的Socket.IO服务器。Laravel不包括Socket.IO服务器实现;但是,社区驱动的Socket.IO服务器当前维护在GitHub存储库中。我在问题中指出,我正在使用pusher,消息将到达调试控制台。从文档中的外观来看,composer需要pusher/pusher php服务器“~3.0”,而不是将echo服务器与socketYou配合使用?面对同样的问题,让我知道,如果你让它工作。