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

如何为Node_modules导入的TypeScript接口IMessage新增属性类型?

TypeScript扩展第三方接口属性的实现方法

由于无法修改node_modules中导入的IMessage接口,你可以通过以下两种方式为其添加errorReason: string属性:

方式一:使用类型别名结合交集类型

通过类型交集(&)将原接口与新属性合并,生成新的类型:

import { IMessage } from '你的第三方包路径';

// 扩展出包含errorReason属性的消息类型
type IMessageWithError = IMessage & {
  errorReason: string;
};

方式二:创建新接口继承原接口

定义一个新接口,继承原IMessage接口并添加新属性:

import { IMessage } from '你的第三方包路径';

interface IMessageWithError extends IMessage {
  errorReason: string;
}

结合现有工具类型使用

如果需要同时保留你之前的WithRequiredProperty工具类型的功能(比如将md设为必填),可以将两者结合:

type MessageWithMdEnforcedAndError = WithRequiredProperty<IMessage, 'md'> & {
  errorReason: string;
};

之后在代码中需要使用带errorReason属性的消息时,直接使用上述新定义的类型即可。

内容的提问来源于stack exchange,提问作者Srushti Shah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:55:15