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

时间:2020-09-18 10:19:25

标签: laravel vue.js vuejs2 pusher pusher-js

我正在尝试使用带有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

1 个答案:

答案 0 :(得分:0)

在您的channels.php中添加guards

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

并删除authEndpoint它应该自动检测