Node.js中import转require语法报错TS1005,求正确写法
正确的CommonJS require转换写法
你原来的写法存在语法错误,原因是CommonJS中require("socket.io")返回的是完整的模块对象:ES6的默认导出对应到该对象的default属性,命名导出则是对象的直接属性。正确的转换方式有两种:
方式一:分两行声明
const socketIO = require("socket.io").default; const { Server: SocketIOServer } = require("socket.io");
方式二:单行对象解构
const { default: socketIO, Server: SocketIOServer } = require("socket.io");
原来的写法报错是因为const socketIO, { Server as SocketIOServer } = ...不符合JavaScript变量声明规则,对象解构需要把所有要提取的属性放在同一个大括号内,通过:实现重命名(对应ES6导入里的as)。
内容的提问来源于stack exchange,提问作者MAK
相关产品推荐
相关产品推荐

