首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >套接字IO客户端应全局可用错误

套接字IO客户端应全局可用错误
EN

Stack Overflow用户
提问于 2019-07-17 03:13:07
回答 1查看 456关注 0票数 0

我将nuxt/laravel api与laravel-echo-server和socket.io-client一起使用。

当我这样使用它时:

代码语言:javascript
复制
import Echo from 'laravel-echo'
if (process.client) {
  window.io = require('socket.io-client')
  window.Echo = new Echo({
     broadcaster: 'socket.io',
     host: 'http://seekers-backend.com:6001',
     auth: { headers: { Authorization: 'Bearer-token' } }
  })
}

然后使用window.Echo.private().listen()...它工作得很完美..

但是当我试图在数据属性中声明它时,我得到了错误,因为它是在服务器端呈现的……我如何在服务器端渲染上使用socket.io-client,或者我如何在客户端声明它,因为我需要访问持有者令牌的getters

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-17 04:00:47

我想我是因为未知的原因找到了它的工作方式:

从'laravel- Echo‘导入echo

代码语言:javascript
复制
if (process.client) {
  window.io = require('socket.io-client')
}

然后

代码语言:javascript
复制
mounted() {
  let echo = new Echo({
    broadcaster: 'socket.io',
    host: 'http://seekers-backend.com:6001',
    auth: { headers: { Authorization: this.token } }
  })
  echo.private('user.' + this.$auth.user.id)
  .listen('MessageEvent', (e) => {
    // Do stuff
  })
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57064013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档