2017-04-14 152 views
1

我有一个使用Laravel 5.4构建的网站,我正在用Laravel Echo和Pusher构建广播系统,但不幸的是,文档缺少指定使其工作而不使用Vue.js所需的步骤。使用Laravel Echo而不使用Vue.js

是否有人有此配置工作?我需要一个完整的步骤来指导,因为正确安装回声(我宁愿一个CDN,但找不到一个)。

+0

尝试使用socket.io而不是推动者。 –

回答

1

最后,我想通了,我自己如何实现Laravel回声推,但没有Vue.js

  1. 遵守所有的指示找到here工作。
  2. 假设您已经安装并配置了Pusher,并通过npm安装了Laravel Echo,请转至your-project-folder/node_modules/laravel-echo/dist并在您的Laravel公用文件夹中复制echo.js(例如your-project-folder/public/lib/js)。我使用Grunt,所以我自动化了这个过程,这只是为了简单起见。
  3. 添加在您的刀片模板是指:

    <script type="text/javascript" src="{{asset('lib/js/echo.js')}}"></script>

  4. 在刀片模板的开头,在下面标注的点,插入这行代码(它只是避免了JS错误使用echo.js直接):

    <script> 
        window.Laravel = <?php echo json_encode([ 
         'csrfToken' => csrf_token(), 
        ]); ?>; 
        var module = { }; /* <-----THIS LINE */ 
    </script> 
    
  5. 在你的页脚,包含所有的JS文件后,调用Laravel回声这样:

    <script> 
        window.Echo = new Echo({ 
         broadcaster: 'pusher', 
         key: '{{env("PUSHER_KEY")}}', 
         cluster: 'eu', 
         encrypted: true, 
         authEndpoint: '{{env("APP_URL")}}/broadcasting/auth' 
        }); 
    </script> 
    
  6. 如果您想要收听某个频道,通知一个,你可以做这样的:

    <script> 
        window.Echo.private('App.User.{{Auth::user()->id}}') 
         .notification((notification) => { 
          doSomeAmazingStuff(); 
        }); 
    </script> 
    
+1

我越来越推,模块没有被定义错误与此。 –

0

首先根据laravel文档创建广播数据的事件。并检查控制台调试您的数据广播或不。如果您的数据广播比使用JavaScript来收听推文件中给出的数据。

在这里,你可以检查例子:https://pusher.com/docs/javascript_quick_start

+0

谢谢@NisargBhavsar,但你建议不要使用Laravel Echo? –

+0

即使我面临同样的问题。但是我有两个不同的前端和后端域。所以我试图按照我给你的答案来实现。 –