Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

408
Visualizações
socket.io Typescript no puede crear un servidor, "Esta expresión no se puede llamar"

Tengo el siguiente código (servidor):

 import express from "express"; import socketio from "socket.io"; import http from "http"; const app = express(); const server = http.createServer(app); const io = socketio(server); server.listen(process.env.port || 3000, () => { console.log(`App running on port ${process.env.port || 3000}`); });

Pero me sale un error en const io = socketio(server); , Afirma:

Esta expresión no es invocable. Escriba 'typeof import("SOME_PATH/node_modules/socket.io/dist/index")' no tiene firmas de llamada

¿Cuál es exactamente el problema aquí?

paquete.json:

 "devDependencies": { "@types/express": "^4.17.11", "@types/node": "^14.14.27", "@types/socket.io": "^2.1.13", "nodemon": "^2.0.7", "ts-node": "^9.1.1" }, "dependencies": { "express": "^4.17.1", "socket.io": "^3.1.1", "typescript": "^4.1.5" }
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

La API cambió en la versión 3. Este problema aquí tiene cierta discusión.

El nuevo equivalente de su ejemplo sería

 import express from "express"; import { Server } from "socket.io"; import http from "http"; const app = express(); const server = http.createServer(app); const io = new Server(server); server.listen(process.env.port || 3000, () => { console.log(`App running on port ${process.env.port || 3000}`); });

Como nota al margen, socket.io se reescribió en mecanografiado, por lo que ya no necesita tener @types/socket.io.

over 4 years ago · Santiago Trujillo Relatório

0

No estoy seguro de eso, pero el problema parece estar en la forma en que socket.io describe su propia exportación predeterminada.

Resolví esto emitiéndolo como cualquier

 import io from 'socket.io'; const server = (io as any)(http);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda