症状
编译器对无法解析的 import 报 TS2307。同一 import 在运行时可能可用,因为打包器的解析方式不同,这正是失败看似不一致的原因。常见原因包括 tsconfig 缺少与打包器一致的路径别名、依赖或其类型未安装,或 moduleResolution 模式假定了不同的导入风格。
诊断
读取报错的确切模块标识;比对 tsconfig 的 paths 与打包器配置;检查是否缺少 @types 或本地声明。
npx tsc --noEmit
根因
类型检查器无法把 import 解析到文件或声明,因为路径、别名、moduleResolution 模式或已安装类型不一致。
修复
修正 import 路径;在 tsconfig 中加入匹配的 paths;安装缺失的 @types 或本地声明;选择与导入方式一致的 moduleResolution 模式。
验证
重新运行类型检查确认可解析,再构建并运行确认运行时也能加载。两个阶段都通过即证明解析已对齐。
常见陷阱
仅让打包器通过而忽略 tsc,会在 CI 类型检查或发布时暴露;应保持两者配置一致。