Laravel Echo没有接受Pusher活动

Wis*_*tar 2 laravel pusher laravel-5.3 laravel-echo

我在使用Laravel Echo听Pusher频道时遇到了麻烦.我无法在浏览器中获得任何响应(无控制台日志).

在我的bootstrap.js中,我得到了.

import Echo from "laravel-echo"

window.Echo = new Echo({
     broadcaster: 'pusher',
     key: 'myPusherAppKey',
     cluster: 'mt1', //My app is US-EAST
     encrypted: true
});
Run Code Online (Sandbox Code Playgroud)

我用我的浏览器控制台输入:

Echo.channel('my-channel')
    .listen('my-event', (e) => {
        console.log(e);
    });
Run Code Online (Sandbox Code Playgroud)

我可以从Pusher Debug Console看到

  1. 连接我的应用程序
  2. 订阅我的频道
  3. OCCUPIED我的频道

然后我使用Pusher Debug Console发送默认事件:

Channel: my-channel 
Event: my-event
Data: {
       "name": "John",
       "message": "Hello"
       }
Run Code Online (Sandbox Code Playgroud)

但是,我的浏览器控制台中没有任何输出.

如果我进一步输入我的浏览器控制台:

Echo.leave('my-channel');
Run Code Online (Sandbox Code Playgroud)

我可以从Pusher Debug Console看到

  1. 未经授权的我的频道
  2. VACATED我的频道

如何让Laravel Echo听Pusher活动?

Wis*_*tar 9

这是一个名称空间问题.Laravel文档解释了它.

Echo将自动假设事件位于App\Events命名空间中

因此,必须在Pusher Debug Console中更改事件名称,如下所示:

Event: App\Events\my-event
Run Code Online (Sandbox Code Playgroud)