У меня возникли проблемы при попытке получить доступ к необработанному экземпляру клиента 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 он явно присутствует:
Я предполагаю, что это вызывает ошибку соединения в vue-socket-ioно это не относится к нему, консоль показывает свойство объекта, но при попытке доступа к этому свойству оно отображается как неопределенное?
Может кто-нибудь помочь мне понять, почему это происходит, или предложить, что может быть причиной этого?разница между моими приложениями Sails / Electron?