TypeScript导入实现接口时出现Cannot find name 'IMessage'.ts(2304)错误原因
错误原因及解决办法
错误原因
你在定义接口的文件里只导出了IChat接口,但IMessage接口没有被导出。当你在另一个文件中实现Chats类时,messages属性声明为IMessage[],但当前文件无法找到IMessage的类型定义——因为它既没被从原模块导出,也没被导入到当前文件中。
解决步骤
在接口定义文件中导出
IMessage
可以修改导出语句,同时导出两个接口:export { IChat, IMessage };也可以直接在
IMessage接口前添加export关键字:export interface IMessage { type: boolean; // 0 = admin , 1 = user message: string; }在实现类的文件中导入
IMessage
更新导入语句,同时引入IChat和IMessage:import { IChat, IMessage } from "../models/chat"; class Chats implements IChat { chat_id: Buffer; user_id: Buffer; admin_id: Buffer; user_name: string; admin_name: string; start_time: string; ending_time: string; messages: IMessage[]; }
这样就能解决Cannot find name 'IMessage'.ts(2304)的错误。
内容的提问来源于stack exchange,提问作者best_of_man
相关产品推荐
相关产品推荐

