问下 Laravel 广播系统,是不是要用 Vue 模板,blade 是怎么弄的?
我已经安装了laravel-echo-server 也start起来了,然后queue_connection 设置成redis了,
然后我创建了一个事件,
public function broadcastOn()
{
return new Channel('blog'.$this->users->id);
}
发布一个广播,然后在一个页面比如hello.blade.php页面
然后查看console那一栏,发现提示 Uncaught ReferenceError: Echo is not defined ,我已经在bootstrap.js后面加上了,
import Echo from 'laravel-echo'
window.io = require('socket.io-client');
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001'
});
babel 不能用 import 吧,你应该用 script 引入 laravel-echo 和 socket.io-client
@donggan 你可以找一下有没有cdn,没有的话你可以把 laravel-echo 项目 clone 下来,然后执行 npm run build 命令构建项目,构建完成后把 dist 目录下的文件 copy 到你项目下,最后 用 script 引入即可
socket.io-client 可以启动 laravel-echo-server 服务,然后这么引入
@donggan
1、需要将
database.redis.options.prefix
配置设置为空,你的应该是laravel_database_
2、broadcast(new App\Events\NewBlogView) 触发广播事件