You need to enable JavaScript to run this app. TypeScript中导入body-parser模块报TS1259错误如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中导入body-parser模块报TS1259错误如何解决?

错误信息

你遇到的报错内容如下:

Error TS1259 (TS) Module '"D:/CloudStorage/..../node_modules/@types/body-parser/index"' can only be default-imported using the 'esModuleInterop' flag

错误截图

错误示意图

报错原因

body-parser 属于 CommonJS 规范的模块,其类型定义未提供 ES 规范的默认导出。TypeScript 默认不允许直接对 CommonJS 模块使用 import xxx from 'xxx' 格式的默认导入语法,esModuleInterop 就是 TypeScript 专门用于兼容两种模块规范的配置开关。

解决方案

方案一(推荐):修改TS全局配置

找到项目根目录下的 tsconfig.json 文件,在 compilerOptions 配置项下新增/修改两个字段:

{
  "compilerOptions": {
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true
  }
}
  • esModuleInterop 开启后会自动处理 CommonJS 与 ES 模块的导入兼容逻辑
  • allowSyntheticDefaultImports 允许对无默认导出的模块使用默认导入语法,TypeScript 会自动生成合成的默认导出
    保存配置后重启 IDE 或 TypeScript 服务,原有默认导入语句即可正常运行。

方案二:调整导入语法(无需修改配置)

如果不想改动全局配置,可以直接把默认导入改为命名空间导入写法:

import * as bodyParser from 'body-parser'

该写法无需调整任何配置即可正常使用,后续调用 bodyParser.json() 等方法的逻辑完全不受影响。

内容的提问来源于stack exchange,提问作者Indrajeet Haldar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 17:15:04