TypeScript导入interface时报错File is not a module问题求助
问题排查方案
- 首先检查导入的文件名是否匹配:你当前子文件命名为
User.ts,但导入语句写的是@/Users(多了末尾的s),直接修改导入语句为import { User } from "@/User"即可解决90%的同类问题。 - 检查路径别名配置是否生效:如果你使用了
@作为路径别名,需要在tsconfig.json的compilerOptions中完成两项配置:- 配置
baseUrl指向项目根目录(通常是"."或者"./src") - 配置
paths映射:"@/*": ["src/*"](根据你的实际源码目录调整路径)
- 配置
- 检查文件大小写匹配问题:Linux、Mac等大小写敏感的系统中,文件名大小写必须和导入语句完全一致,比如文件名为
user.ts就不能写成@/User导入。 - 建议使用类型专属导入语法:因为你导入的是TypeScript接口(仅用作类型声明),可以修改为
import type { User } from "@/User",既避免编译后产生无用的导入残留,也能降低识别异常的概率。 - 检查
tsconfig.json的include配置:确认你的User.ts所在目录已经被包含在include的路径规则中,否则TypeScript不会将该文件识别为可导入的模块。
内容的提问来源于stack exchange,提问作者Rade Iliev
相关产品推荐
相关产品推荐

