我正在使用在DefinitelyTyped/DefinitelyTyped github repo中有聲明的npm模塊,但模塊的類型不完整。如何擴展類型聲明?
我已經提出了一個拉請求來獲取缺失的聲明,但是直到它被接受,我需要有一種方法來暫時擴展不完整的聲明。
理想情況下,我希望能夠在我的項目根目錄中有一個temporaryTypings.d.ts
文件,我可以爲我遇到的每種情況添加聲明。
我正在使用在DefinitelyTyped/DefinitelyTyped github repo中有聲明的npm模塊,但模塊的類型不完整。如何擴展類型聲明?
我已經提出了一個拉請求來獲取缺失的聲明,但是直到它被接受,我需要有一種方法來暫時擴展不完整的聲明。
理想情況下,我希望能夠在我的項目根目錄中有一個temporaryTypings.d.ts
文件,我可以爲我遇到的每種情況添加聲明。
您可以安裝非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可以安裝特定混帳回購協議模塊爲好。
你可以在你的源文件中的任何地方總是有一些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
文件中刪除該模塊聲明。
好主意,我將如何使用新的npm @types語法來做到這一點? – nhjk
@nhjk'@ types/pkg'也是npm包。我想應該能夠發佈一個包含更新內容的非官方軟件包,或者只需使用帶有'npm-link'的本地npm軟件包。 – Jokester