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

执行tsc app.ts报错TS2583:找不到Map,如何实现正常编译?

解决TypeScript编译错误TS2583:找不到名称'Map'

这个错误是因为TypeScript默认加载的库文件仅包含ES5及更早版本的类型定义,而Map是ES2015(ES6)新增的特性,编译器无法找到对应的类型声明。以下是两种可靠的解决方法,同时保证导入语句正常工作:

方式一:编译时通过命令行指定lib参数

直接在编译命令中添加--lib选项,引入包含ES2015特性的库:

tsc app.ts --lib es2015,dom
  • es2015:提供ES2015所有特性的类型定义,包括Map、Set等
  • dom:如果代码运行在浏览器环境(需要操作DOM),补充浏览器相关类型声明;纯Node.js环境可省略

方式二:使用tsconfig.json配置文件(推荐)

创建或修改项目根目录下的tsconfig.json,通过配置文件持久化编译器选项,后续编译只需运行tsc:

{
  "compilerOptions": {
    "target": "es2015", // 编译后JS的目标版本,需兼容旧环境可改为es5
    "lib": ["es2015", "dom"], // 指定要加载的库文件
    "module": "commonjs" // 匹配运行环境的模块系统:Node.js用commonjs,前端可根据打包工具改为esnext/amd等,确保导入语句正常解析
  },
  "include": ["app.ts"] // 指定需要编译的文件
}

配置完成后执行编译:

tsc

补充说明

若将target设为es5、lib设为es2015,TypeScript会在类型检查时支持ES2015特性,同时将代码编译为ES5兼容语法,兼顾类型安全和旧环境兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:08:21