2017-02-24 120 views
1

我想在我的Typescript项目中使用nconf-yaml插件,但我不知道如何将其添加到我的打字稿中。在@类型/ nconf中,在formats变量的声明如下:扩展打字稿变量声明

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

如何使用声明合并添加YAML,使之成为:

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

回答

1

我不认为你可以做到这一点。你不能修改这个变量的类型,因为它是内联的!如果界面被单独声明,那将是可能的。所以,你可以提交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