module.exports = {
//Other exports
Server as default
}
您可以这样做:
import * as io from "socket.io"
import express from 'express';
import { createServer } from 'http';
const app = express();
const server = createServer(app);
const socketio = new io.Server(server);
编辑: 您可以按如下方式导入socket.io:
import { Server } from 'socket.io';
import express from 'express';
import { createServer } from 'http';
const app = express();
const server = createServer(app);
const socketio = new Server(server);
import { Server } from 'socket.io';
import express from 'express';
import { createServer } from 'http';
const app = express();
const server = createServer(app);
const socketio = new Server(server);
4条答案
按热度按时间a14dhokn1#
有两种导出:命名导出(每个模块几个)和默认导出(每个模块一个)。可以同时使用这两个导出,但通常最好将它们分开。
为什么会收到此错误:您编写的import语句提供了不是默认导出的
Server
。如果socket.io实际上已按如下方式导出了Server,则不会出现错误。您可以这样做:
编辑:
您可以按如下方式导入socket.io:
3qpi33ja2#
我不能相信Socket.io是如此难以导入他们的npm包。
答案在这里,谢谢@MeghAgarwal
9fkzdhlc3#
从v3开始,正确的方法是:
如果你
import * as io from 'socket.io'
,你必须调用io.io(httpServer)
。我遇到了同样的错误dauxcl2d4#
我得到了同样的错误,这对我很有效