2016-10-04 86 views
2

我正在使用在DefinitelyTyped/DefinitelyTyped github repo中有聲明的npm模塊,但模塊的類型不完整。如何擴展類型聲明?

我已經提出了一個拉請求來獲取缺失的聲明,但是直到它被接受,我需要有一種方法來暫時擴展不完整的聲明。

理想情況下,我希望能夠在我的項目根目錄中有一個temporaryTypings.d.ts文件,我可以爲我遇到的每種情況添加聲明。

回答

1

您可以安裝非DefinitelyTyped源定義,就像你DT的叉:

# (this example is taken from https://www.npmjs.com/package/typings) 
# If you need a specific commit from github. 
$ typings install d3=github:DefinitelyTyped/DefinitelyTyped/d3/d3.d.ts#1c05872e7811235f43780b8b596bfd26fe8e7760 

npm因爲打字稿2可以安裝特定混帳回購協議模塊爲好。

+0

好主意,我將如何使用新的npm @types語法來做到這一點? – nhjk

+1

@nhjk'@ types/pkg'也是npm包。我想應該能夠發佈一個包含更新內容的非官方軟件包,或者只需使用帶有'npm-link'的本地npm軟件包。 – Jokester

1

你可以在你的源文件中的任何地方總是有一些project.d.ts文件。

您可以從/// <reference path="path/to/project.d.ts" />tsconfig.json等某個入口點引用它,並在此處添加適合您的類型。

例如我的全局文件通常包括:

declare module "leftpad" { 
    var t : any; 
    export = t; 
} 

哪位幫我導入我的模塊,而不require。定義文件可用後,您可以使用npm install @types/leftpad --save-dev進行安裝,然後從global.d.ts文件中刪除該模塊聲明。