You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 11:50:33