无法在vue cli项目中使用laravel-echo

问题描述

我正在尝试使用带有laravel-echo的vue cli项目创建一个聊天应用程序。但是由于419未知状态/ broadcasting / auth而收到错误消息。 这是我的main.js filr

import Vue from "vue";
import App from "./App.vue";
import "./registerServiceWorker";
import router from "./router";
import store from "./store";
import i18n from "./i18n";
import VueConfirmDialog from "vue-confirm-dialog";
import VueChatScroll from "vue-chat-scroll";
import Echo from "laravel-echo";


Vue.use(VueConfirmDialog);
Vue.config.productionTip = false;

new Vue({
  router,store,i18n,render: h => h(App)
}).$mount("#app");

window.Pusher = require("pusher-js");

window.Echo = new Echo({
  broadcaster: "pusher",// key: process.env.MIX_PUSHER_APP_KEY,host: "http://localhost:8000",authEndpoint: "http://localhost:8000/broadcasting/auth",key: "key",// cluster: process.env.MIX_PUSHER_APP_CLUSTER,cluster: "ap2",forceTLS: true
});

这就是我尝试收听事件的方式

window.Echo.channel("Chat").listen("SessionEvent",e => {
      let friend = this.friends.find(friend => friend.id === e.session_by);
      friend.session = e.session;
      this.listenForEverySession(friend);
    });

谁能告诉我是什么问题?这是前端,laravel项目是后端

This is error I am getting

解决方法

在您的channels.php中添加guards

Broadcast::channel('Chat',function ($user) {
    return true;
},['guards' => 'web']); //  add this guards

并删除authEndpoint它应该自动检测

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...