Я получаю сообщение об ошибке при компиляции моего приложения vuejs.Удаление строк кода, связанных с маршрутизатором, похоже, устраняет ошибку.Учитывая, что мне нужен маршрутизатор, любая помощь будет оценена.Вот ошибка:
Uncaught TypeError: Невозможно использовать оператор «in» для поиска «onpagehide» в undefined at eval (polling-xhr.js? D33e: 404) в Object ../ node_modules / engine.io-client / lib / transports / polling-xhr.js (app.js: 4389) в webpack_require (app.js: 724) в fn (app.js: 101) в eval (index.js)? 6a44: 6) в Object ../ node_modules / engine.io-client / lib / transports / index.js (app.js: 4367) в webpack_require (app.js: 724) в fn (app.js: 101) в eval (socket.js? da92: 5) в Object ../ node_modules / engine.io-client / lib / socket.js (app.js: 4345)
Моя цельэто подключиться к внешнему серверу сокетов.Я перепробовал несколько похожих плагинов, все с одним и тем же сообщением об ошибке.Во время устранения неполадок, когда я удаляю «импортировать маршрутизатор из« ./routes »;»и "маршрутизатор", я получаю сообщение консоли, что я успешно подключен к моему серверу сокетов.Это должен быть конфликт между маршрутизатором и плагином сокета.
Содержимое Main.js:
import Vue from 'vue'
import './firebase.js'
import App from './App.vue'
import VueRouter from 'vue-router'
import VueFire from 'vuefire'
import SuiVue from 'semantic-ui-vue';
import 'semantic-ui-css/semantic.min.css';
//import Routes from "./routes";
import VueFlatPickr from 'vue-flatpickr-component';
import 'flatpickr/dist/flatpickr.css';
import firebase from 'firebase';
import router from './routes';
import Toasted from 'vue-toasted';
import VueSocketio from 'vue-socket.io-extended';
import io from 'socket.io-client';
Vue.use(Toasted)
Vue.use(SuiVue);
Vue.use(VueRouter);
Vue.use(VueFire);
Vue.use(VueFlatPickr);
Vue.use(VueSocketio, io('[socket_server_address_here]'));
window.$ = window.jQuery = require('jquery');
let app = '';
if (!app) {
/* eslint-disable no-new */
app = new Vue({
router,
sockets: {
connect() {
console.log('socket connected')
},
customEmit(val) {
console.log('this method was fired by the socket server. eg: io.emit("customEmit", data)')
}
},
render: h => h(App)
}).$mount('#app');
}
Я должен получить консольное сообщение о том, что сокет-сервер подключен.