Laravel 如何解决;“未定义回声”;错误?

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')}}>。 但我收到以下错误:

我正在用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')}}>
。 但我收到以下错误:

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