Laravel 如何解决;“未定义回声”;错误?
我正在用Vue.js和Laravel echo与Laravel 7合作。 我已经在我的应用程序中使用Laravel 如何解决;“未定义回声”;错误?,laravel,vue.js,websocket,laravel-echo,pusher-js,Laravel,Vue.js,Websocket,Laravel Echo,Pusher Js,我正在用Vue.js和Laravel echo与Laravel 7合作。 我已经在我的应用程序中使用npm安装--save Laravel Echo pusher js安装了Laravel Echo库,并且根据Laravel provide文档在resources/assets/js/bootstrap.js文件中包含了以下代码,我还有require('./bootstrap')和app.blade.php中的脚本src=“{{asset('js/app.js')}}>。 但我收到以下错误:
npm安装--save Laravel Echo pusher js
安装了Laravel Echo库,并且根据Laravel provide文档在resources/assets/js/bootstrap.js文件中包含了以下代码,我还有require('./bootstrap')和app.blade.php中的脚本src=“{{asset('js/app.js')}}>
。
但我收到以下错误:
bootstrap.js:
import Echo from 'laravel-echo';
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true
});
show.blade.php
<script>
const app = new Vue({
el: '#app',
data: {
comments: {},
commentBox: '',
post: {!! $post->toJson() !!},
user: {!! Auth::check() ? Auth::user()->toJson() : null !!}
},
created: function() {
this.listen();
},
methods: {
listen: function() {
Echo.channel('post.'+this.post.id)
.listen('NewComment', (comment) => {
// this.comments.unshift(comment);
console.log('yessss');
})
}
}
});
</script>
我试着移除forceTLS:是的,但仍然不起作用。我试图添加window.Echo,但收到另一个错误:“TypeError:无法读取未定义的属性'channel'”
这个错误有什么解决办法吗?!提前感谢您的帮助 使用以下命令并尝试清除缓存文件
php artisan optimize:clear
您是否运行npm run watch
?@kerbholz是的!您是否尝试了window.Echo.channel
?是的,我收到了:TypeError:无法读取未定义@Purgatory的属性“channel”
PUSHER_APP_ID=xxxxxx
PUSHER_APP_KEY=xxxxxxxxxxxxxxxxxx
PUSHER_APP_SECRET=xxxxxxxxxxxxx
PUSHER_APP_CLUSTER=xxx
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
php artisan optimize:clear