许多开发者在使用 CodeBuddy 生成 TypeScript 接口类型后,常常在同一个环节栽跟头——类型文件虽然生成了,但在项目中引用时却完全不生效,IDE 悬停提示依然是 any,错误的字段无人察觉,直到编译阶段才报错。
实际上,整个过程只需三个步骤,都是经过多次踩坑后才总结出的经验。你按顺序走一遍,基本就能确保类型文件真正落地并起作用。

问题的本质在于:写好类型定义是一回事,能否被编译器正确读取则是另一回事。很多时候,文件虽然生成了,但并没有正确保存或者正确导入,等于白忙一场。
确认类型文件已保存到项目路径
从 OpenAPI 文档或抓包流量中生成类型后,文件必须乖乖待在项目目录里才能生效。CodeBuddy 默认会建议保存到类似 src/types/api/orders.ts 的路径,但这个路径必须是你的项目中真实存在的目录。
如果你想更换位置,比如写成 ./types/generated/order.d.ts,最好先确认该目录是否已经创建——CodeBuddy 不会自动帮你建立父级文件夹。路径不存在时,文件无法写入,而且不会有任何报错提示,这是最容易掉进去的坑。
在接口调用文件中显式导入类型
打开发起 HTTP 请求的文件,例如 src/api/orderService.ts,在顶部的 import 区域添加一行:
import { OrdersGetRequest, OrdersGetResponse } from '@/types/api/orders';
这里有一个关键点:路径别名(比如 @/)必须与项目中 tsconfig.json 里配置的 baseUrl 和 paths 完全一致。如果项目没有配置别名,那就老老实实使用相对路径,例如 import { OrdersGetRequest } from '../../types/api/orders';。
验证导入是否生效
导入之后,不能以为就万事大吉了。推荐三种验证方法,简单又高效:
方法一:在请求函数的参数位置或者响应解构处,鼠标悬停上去,观察类型提示是否显示为你生成的 interface 名称。如果看到的是 OrdersGetRequest 而不是 any 或 unknown,那就说明成功了。
方法二:故意在调用处传入一个错误的字段,比如 { invalidField: true }。如果 TypeScript 没有立即报错,则说明类型没有被正确引用——路径大概率写错了。
方法三:直接在 CodeBuddy 对话框里输入“检查 src/api/orderService.ts 的类型导入完整性”,AI 会自动扫描 import 语句与实际使用情况,把缺失或错位的类型引用都标注出来。这个方法最省力,适合批量检查。
