【发布时间】:2017-06-05 01:27:47
【问题描述】:
我正在使用 Laravel 事件广播,并且我正在使用推送器驱动程序来广播事件并且它工作得很好。
使用推送器提供的js库从客户端成功订阅公共频道
var pusher = new Pusher('xxxxxxxxxxxxxxxxxxxxx_my_app_key', {
encrypted: true
});
var channel = pusher.subscribe('TestPusher');
channel.bind('App\\Events\\TestPusher', function(data) {
alert(data.msg);
});
但是当我在客户端代码中使用 Echo 时
Echo.channel('TestPusher')
.listen('TestPusher', (e) => {
console.log(e.msg, e.chatMessage);
});
它会产生错误“Echo is not defined”。
我已经在我的应用程序中使用 npm install --save laravel-echo pusher-js 安装了 Laravel Echo 库,并且还根据 laravel 提供的文档在 resources/assets/js/bootstrap.js 文件中包含了以下代码。
import Echo from "laravel-echo"
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'xxxxxxxxxxxxxxxxxxxxx_my_app_key'
});
所以请帮我解决这个问题。
【问题讨论】:
-
看看这个link。你会得到火花来使用它。
-
谢谢@iDroid,但我已经尝试过这个链接,但对我不起作用,你能给我具体的解释吗?
-
如果您还没有这样做,您应该尝试使用 gulp 编译您的资产。