扩展打字稿变量声明
问题描述:
我想在我的Typescript项目中使用nconf-yaml插件,但我不知道如何将其添加到我的打字稿中。在@类型/ nconf中,在formats
变量的声明如下:扩展打字稿变量声明
export declare var formats: {
json: IFormat;
ini: IFormat;
};
如何使用声明合并添加YAML,使之成为:
export declare var formats: {
json: IFormat;
ini: IFormat;
yaml: IFormat
};
答
我不认为你可以做到这一点。你不能修改这个变量的类型,因为它是内联的!如果界面被单独声明,那将是可能的。所以,你可以提交pull请求以自己的回购,如果你想:d
如果nconf
分型的定义是这样的:
export interface IFormats {
json: IFormat;
ini: IFormat;
}
export declare var formats: IFormats;
你会创建一个包含文件index.d.ts
:
import * as nconf from "nconf";
declare module "nconf" {
export interface IFormats {
json: nconf.IFormat;
ini: nconf.IFormat;
yaml: nconf.IFormat;
}
}
它会解决你的问题。
在此期间仍然可以投你的变数使用它忽略类型之前:
(nconf.formats as any).yaml