2016-03-10 54 views
9

我正在使用typings導入類型定義,並且使用gulp-typescript來運行TypeScript編譯器。當我運行我的打字稿任務,我得到的RxJS分型中使用的IPromiseIDisposable類型的一些警告:TypeScript在RxJS定義中找不到名稱IPromise

typings/main/ambient/rx/index.d.ts(34,20): error TS2304: Cannot find name 'IPromise'. 
typings/main/ambient/rx/index.d.ts(36,29): error TS2304: Cannot find name 'IPromise'. 
typings/main/ambient/rx/index.d.ts(49,36): error TS2304: Cannot find name 'IDisposable'. 
typings/main/ambient/rx/index.d.ts(51,22): error TS2304: Cannot find name 'IPromise'. 
typings/main/ambient/rx/index.d.ts(53,19): error TS2304: Cannot find name 'IPromise'. 
typings/main/ambient/rx/index.d.ts(55,36): error TS2304: Cannot find name 'IPromise'. 
typings/main/ambient/rx/index.d.ts(57,33): error TS2304: Cannot find name 'IPromise'. 

我假設存在這樣RxJS依賴於其他分型庫,但沒有指定時我安裝了定義。我加了分型RxJS與

typings install --save --ambient rx 

在安裝的文件,rx/index.d.ts開頭的評論,說,這是RxJS v2.5.3,即使RxJS高達4版現在。但根據typings search --ambient rx,圖書館去年更新了,所以我認爲這只是過時的評論。

我還需要什麼其他類型的定義,還有其他方式可以找到它,而不是在這裏問一下嗎?

回答

16

DefinitelyTyped的RxJS類型定義看起來已經過時。相反,使用npm包提供的類型定義。

typings install --save --ambient npm:rx/ts/rx.all.d.ts 

更新對於分型> = 1.0,使用--global代替。

typings install --save --global npm:rx/ts/rx.all.d.ts 
+1

這應該得到很多upvotes(即使它不是--ambient了 - 它是 - 全球)。 當使用'typings search rx'搜索類型時,我所看到的全部是DefinitelyTyped作爲源 - 爲什麼結果中不是npm? – thorseye

+0

感謝您的通知,我更新了答案以反映更改後的命令行參數。我對'類型搜索'有一點運氣。希望這是他們正在努力的事情。 – Shaun

相關問題