2017-02-24 168 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