Al intentar conectarse usando
this._socket = io('http://localhost:5000');
Recibo el error TypeError: io no es una función. Puedo ver el archivo socket.io/socket.io.js en la pestaña de red y se está cargando. He instalado socket.io usando npm socket.io y estoy usando socket.io-client versión 1.3.6
Esto parece realmente un error básico y es más probable que haya algún problema con la configuración. Siéntete libre de reabrir.
teniendo el mismo problema. ¿Qué ajustes?
Estoy teniendo el mismo problema. ¿Qué ajustes?
teniendo el mismo problema. ¿Qué ajustes?
El mismo problema aquí usando Parcel.js / Typescript como el paquete ES6
importar * como io desde 'socket.io-client';
resuelve el problema.
¿Qué pasaría si estuvieras usando JavaScript simple y antiguo?
Utilice io.connect()
lugar de io()
.
io.connect () no puede resolver el problema, el problema sigue ahí
para mí, la combinación de las sugerencias de @Kacppian funcionó:
importar * como io desde "socket.io-client";
let ioClient = io.connect();
el mismo problema
cuando estoy exportando me da un error, mi código es
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});
})
}
y el error que obtengo es
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
Comentario más útil
Utilice
io.connect()
lugar deio()
.