← 中文资源

简体中文版本

TypeScript 报 TS2307: 找不到模块或其类型声明

通过修正模块解析设置并安装缺失的类型声明,修复 TS2307。

阅读英文原文

症状

编译器对无法解析的 import 报 TS2307。同一 import 在运行时可能可用,因为打包器的解析方式不同,这正是失败看似不一致的原因。常见原因包括 tsconfig 缺少与打包器一致的路径别名、依赖或其类型未安装,或 moduleResolution 模式假定了不同的导入风格。

诊断

读取报错的确切模块标识;比对 tsconfig 的 paths 与打包器配置;检查是否缺少 @types 或本地声明。

npx tsc --noEmit

根因

类型检查器无法把 import 解析到文件或声明,因为路径、别名、moduleResolution 模式或已安装类型不一致。

修复

修正 import 路径;在 tsconfig 中加入匹配的 paths;安装缺失的 @types 或本地声明;选择与导入方式一致的 moduleResolution 模式。

验证

重新运行类型检查确认可解析,再构建并运行确认运行时也能加载。两个阶段都通过即证明解析已对齐。

常见陷阱

仅让打包器通过而忽略 tsc,会在 CI 类型检查或发布时暴露;应保持两者配置一致。