我在项目中创建了custom-typings.d.ts
,我只想向Logger
interface添加属性。
在我的custom-typings.d.ts
中添加我的something属性:
declare namespace winston {
interface Logger {
something: string;
}
}
当我输入:const { something } = logger.info('blabla');
我得到的错误是Property 'something' does not exist on type 'Logger'.
(在javascript中,我使用该字段覆盖了返回__proto__
类型)
答案 0 :(得分:1)
您是否已将tsconfig.json
文件更新为look for your types?
更新
您的问题是声明类型的方式。
您的.d.ts
文件应如下所示:
export {};
declare module "winston" {
interface Logger {
something: string;
}
}
请注意,第一行export {};
是必须的,因此该文件将被视为模块。第二个变化是您重新声明模块“ winston”,而不是名称空间。