1

我想在我的 Typescript 项目中使用nconf-yaml插件,但我不知道如何在我的打字中添加它。在@types/nconf中,formats变量声明如下:

export declare var formats: {
    json: IFormat;
    ini: IFormat;
};

如何使用声明合并来添加yaml,这样会变成:

export declare var formats: {
    json: IFormat;
    ini: IFormat;
    yaml: IFormat
};
4

1 回答 1

3

我不认为你能做到这一点。您不能修改此变量的类型,因为它是内联的!如果接口单独声明,这是可能的。因此,如果您愿意,您可以向他们的仓库提交拉取请求: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
于 2017-02-24T16:22:02.387 回答