我有一个使用Laravel 5.4构建的网站,我正在用Laravel Echo和Pusher构建广播系统,但不幸的是,文档缺少指定使其工作而不使用Vue.js所需的步骤。使用Laravel Echo而不使用Vue.js
是否有人有此配置工作?我需要一个完整的步骤来指导,因为正确安装回声(我宁愿一个CDN,但找不到一个)。
我有一个使用Laravel 5.4构建的网站,我正在用Laravel Echo和Pusher构建广播系统,但不幸的是,文档缺少指定使其工作而不使用Vue.js所需的步骤。使用Laravel Echo而不使用Vue.js
是否有人有此配置工作?我需要一个完整的步骤来指导,因为正确安装回声(我宁愿一个CDN,但找不到一个)。
最后,我想通了,我自己如何实现Laravel回声推,但没有Vue.js
your-project-folder/node_modules/laravel-echo/dist
并在您的Laravel公用文件夹中复制echo.js
(例如your-project-folder/public/lib/js
)。我使用Grunt,所以我自动化了这个过程,这只是为了简单起见。添加在您的刀片模板是指:
<script type="text/javascript" src="{{asset('lib/js/echo.js')}}"></script>
在刀片模板的开头,在下面标注的点,插入这行代码(它只是避免了JS错误使用echo.js直接):
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>;
var module = { }; /* <-----THIS LINE */
</script>
在你的页脚,包含所有的JS文件后,调用Laravel回声这样:
<script>
window.Echo = new Echo({
broadcaster: 'pusher',
key: '{{env("PUSHER_KEY")}}',
cluster: 'eu',
encrypted: true,
authEndpoint: '{{env("APP_URL")}}/broadcasting/auth'
});
</script>
如果您想要收听某个频道,通知一个,你可以做这样的:
<script>
window.Echo.private('App.User.{{Auth::user()->id}}')
.notification((notification) => {
doSomeAmazingStuff();
});
</script>
我越来越推,模块没有被定义错误与此。 –
首先根据laravel文档创建广播数据的事件。并检查控制台调试您的数据广播或不。如果您的数据广播比使用JavaScript来收听推文件中给出的数据。
在这里,你可以检查例子:https://pusher.com/docs/javascript_quick_start
谢谢@NisargBhavsar,但你建议不要使用Laravel Echo? –
即使我面临同样的问题。但是我有两个不同的前端和后端域。所以我试图按照我给你的答案来实现。 –
尝试使用socket.io而不是推动者。 –