Socket.io-client: TypeError: io não é uma função

Criado em 13 ago. 2015  ·  11Comentários  ·  Fonte: socketio/socket.io-client

Ao tentar conectar usando

    this._socket = io('http://localhost:5000');

Recebo o erro TypeError: io não é uma função. Posso ver o arquivo socket.io/socket.io.js na guia de rede e está sendo carregado. Eu instalei socket.io usando npm socket.io e estou usando socket.io-client versão 1.3.6

Comentários muito úteis

Use io.connect() vez de io() .

Todos 11 comentários

Este parece realmente um erro básico e é mais provável que haja algo errado com suas configurações. Sinta-se à vontade para reabrir.

tendo o mesmo problema. Quais configurações?

Estou tendo o mesmo problema. Quais configurações?

tendo o mesmo problema. Quais configurações?

O mesmo problema aqui usando Parcel.js / Typescript como o empacotador ES6

importar * como io de 'socket.io-client';
resolve o problema.

E se estivéssemos usando JavaScript simples e antigo?

Use io.connect() vez de io() .

io.connect () não pode resolver o problema, o problema ainda está lá

para mim a combinação de @renatosvo e @Kacppian sugestões funcionou:
importar * como io de "socket.io-client";
let ioClient = io.connect();

mesmo problema

quando estou exportando, dá-me um erro porque o meu código está

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});

  })
}

e o erro que estou recebendo é

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
Esta página foi útil?
0 / 5 - 0 avaliações