问下 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'
});

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

babel 不能用 import 吧,你应该用 script 引入 laravel-echo 和 socket.io-client

4年前 评论
donggan (楼主) 4年前

@donggan 你可以找一下有没有cdn,没有的话你可以把 laravel-echo 项目 clone 下来,然后执行 npm run build 命令构建项目,构建完成后把 dist 目录下的文件 copy 到你项目下,最后 用 script 引入即可

socket.io-client 可以启动 laravel-echo-server 服务,然后这么引入

<script src="//127.0.0.1:6001/socket.io/socket.io.js"></script>
4年前 评论
donggan (楼主) 4年前
donggan (楼主) 4年前
yanthink (作者) 4年前
donggan (楼主) 4年前
yanthink (作者) 4年前
yanthink (作者) 4年前
4年前 评论
donggan (楼主) 4年前
yanthink (作者) 4年前
yanthink (作者) 4年前
donggan (楼主) 4年前
donggan (楼主) 4年前
donggan (楼主) 4年前
yanthink (作者) 4年前
yanthink (作者) 4年前
yanthink (作者) 4年前

1、需要将 database.redis.options.prefix 配置设置为空,你的应该是 laravel_database_

redis 加前缀后广播 Channel 也会自动加前缀,这会导致前端和后端的 Channel 对不上

2、broadcast(new App\Events\NewBlogView) 触发广播事件

4年前 评论
donggan (楼主) 4年前
donggan (楼主) 4年前
yanthink (作者) 4年前
yanthink (作者) 4年前
donggan (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!