_raw в SailsSocket объект не определен в процессе рендеринга Electron? - PullRequest
0 голосов
/ 14 декабря 2018

У меня возникли проблемы при попытке получить доступ к необработанному экземпляру клиента Socket io, который является частью объекта SailsSocket, созданного sails io .

В моем приложении SailsЧтобы создать экземпляр клиента Sails io, я могу сделать следующее:

// Require the sockets.js file if you want to be able to use the socket client to
// do things like `io.socket.get()` inside of this script.
var io = require('../dependencies/sockets.js')

// Configure the socket client
io.sails.url = 'http://localhost:1337'
io.sails.autoConnect = false
io.sails.reconnection = true
io.sails.reconnectionDelay = 3000
io.sails.reconnectionDelayMax = 7000

// Connect first so we can pass the _raw info to vue-socket-io
const socket = io.sails.connect()

Я использую vue-socket-io , для которого требуется, чтобы экземпляр клиента сокета io использовался в параметре подключения.

В экземпляре клиента Sails io он доступен с помощью объектов / свойств SailsSocket _raw свойство / метод:

import VueSocketIO from 'vue-socket.io'
Vue.use(new VueSocketIO({
  debug: true,
  connection: socket._raw,
  vuex: {
    store,
    actionPrefix: 'SOCKET_',
    mutationPrefix: 'SOCKET_'
  }
}))

, что работает, как и ожидалось.

Когда я пытаюсьчтобы сделать то же самое внутри процесса рендеринга Electron, я получаю неожиданное поведение:

...
// Connect first so we can pass the _raw info to vue-socket-io
const socket = io.sails.connect()

console.log(socket)
console.log(typeof socket._raw)

import VueSocketIO from 'vue-socket.io'
Vue.use(new VueSocketIO({
  debug: true,
  connection: socket._raw,
...

В этом случае vue-socket-io жалуется: Uncaught Error: Unsupported connection type

Logging socketотображает объект SailsSocket, но регистрация socket._raw отображает неопределенное.Последнее странно, потому что в объекте SailsSocket он явно присутствует:

console log

Я предполагаю, что это вызывает ошибку соединения в vue-socket-ioно это не относится к нему, консоль показывает свойство объекта, но при попытке доступа к этому свойству оно отображается как неопределенное?

Может кто-нибудь помочь мне понять, почему это происходит, или предложить, что может быть причиной этого?разница между моими приложениями Sails / Electron?

...