Beim Verbindungsversuch mit
this._socket = io('http://localhost:5000');
Ich erhalte die Fehlermeldung TypeError: io is not a function. Ich kann die Datei socket.io/socket.io.js im Netzwerk-Tab sehen und wird geladen. Ich habe socket.io mit npm socket.io installiert und verwende socket.io-client Version 1.3.6
Dies sieht wirklich nach einem grundlegenden Fehler aus und es ist wahrscheinlicher, dass etwas mit Ihren Einstellungen nicht stimmt. Gerne wieder öffnen.
das gleiche Problem haben. Welche Einstellungen?
Ich habe das gleiche Problem. Welche Einstellungen?
das gleiche Problem haben. Welche Einstellungen?
Gleiches Problem hier mit Parcel.js / Typescript als ES6-Bundler
import * als io aus 'socket.io-client';
löst das Problem.
Was wäre, wenn Sie normales altes JavaScript verwenden würden?
Verwenden Sie io.connect()
anstelle von io()
.
io.connect() kann das Problem nicht lösen, das Problem besteht weiterhin
bei mir hat die Kombination aus @renatosvo und @Kacppian Vorschlägen funktioniert:
import * als io aus "socket.io-client";
let ioClient = io.connect();
gleiches Problem
Wenn ich exportiere, bekomme ich eine Fehlermeldung, dass mein Code ist
const express = require('express');
const router = express.Router();
var app = express();
const io = require('socket.io');
const fs = require('fs');
const { ensureAuthenticated } = require('../db/auth.js');
//exporting dashboard
module.exports = {
dash: router.get('/', (req,res)=>{
var chat = io.on('connection', (socket)=>{
console.log('chat is connected');
})
res.render('dashboard', {chat:chat});
})
}
und der fehler den ich bekomme ist
io.on is not a function
TypeError: io.on is not a function
at E:\expressBasedLOginSignUP\routes\dashboard.js:13:19
at Layer.handle [as handle_request] (E:\expressBasedLOginSignUP\node_modules\express\lib\router\layer.js:95:5)
at next (E:\expressBasedLOginSignUP\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\expressBasedLOginSignUP\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\expressBasedLOginSignUP\node_modules\express\lib\router\layer.js:95:5)
at E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:281:22
at Function.process_params (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:335:12)
at next (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:275:10)
at Function.handle (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:174:3)
at router (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (E:\expressBasedLOginSignUP\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:317:13)
at E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:284:7
at Function.process_params (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:335:12)
at next (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:275:10)
at E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:635:15
Hilfreichster Kommentar
Verwenden Sie
io.connect()
anstelle vonio()
.