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

TypeScript模块导入问题:导入Driver接口时提示找不到@api/driver

问题分析与解决

你的问题出在模块声明的作用域上,不需要修改tsconfig配置,调整代码写法就能解决。

问题根源

当你在文件顶部添加import { Driver } from "@api/event";时,这个文件就从全局类型声明文件变成了一个ES模块文件。此时,你写的declare module '@api/driver'不再是对全局模块的扩展声明,而是TypeScript会认为你在试图定义一个实际存在的@api/driver模块——但这个模块根本不存在,所以触发了“Cannot find module '@api/driver'”的错误。

解决办法

把类型引用移到模块声明内部,用import()类型查询的方式获取@api/event里的Driver类型,同时保持文件为全局声明文件(不要顶部的import语句):

declare module '@api/driver' {
  interface GetDriversResponse {
    drivers: import('@api/event').Driver[];
  }
}

或者,如果你更倾向于显式的类型导入,也可以把import type放在模块声明内部(此时文件依然是模块,但TypeScript会正确识别这是对@api/driver的扩展):

declare module '@api/driver' {
  import type { Driver } from '@api/event';
  interface GetDriversResponse {
    drivers: Driver[];
  }
}

两种写法都能让TypeScript正确识别Driver类型,同时不会触发模块找不到的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:17:13