2016-09-06 86 views
6

當前我正在嘗試在我的項目中使用d3-drag v4類型。 使用Ts 1.8.10,並沒有準備好轉移到TS2測試版。使用Typescript 2 @Types打字稿1.8.10

的D3-V4分型庫位於: https://github.com/tomwanzek/d3-v4-definitelytyped

我嘗試使用分型安裝:

typings install d3-drag=github:tomwanzek/d3-v4-definitelytyped/src/d3-drag/index.d.ts#4d09073c046b6444859c66ff441f1e7691777d0f --save 

但我發現了以下錯誤:

typings ERR! caused by /tomwanzek/d3-v4-definitelytyped/47eae6d/src/d3-selection.d.ts responded with 404, expected it to equal 200

我發現有人在這裏問同一個問題:

https://github.com/tomwanzek/d3-v4-definitelytyped/issues/93

,但它並沒有回答我的問題,因爲我不能遷移到TS2,只是還沒有。 是否有使用TSty 1.8.10的@types?

+0

這似乎是'typings'的url解析中的一個bug /意外功能。我會考慮在github回購代碼上打開一個問題。 –

回答

0

同時,我創建了一個d.ts文件,以便能夠使用拖放。 沒有intellisense和沒有類型檢查,但至少我可以使用拖動庫。

declare var d3Drag; 
declare module 'd3-drag' 
{ 
export = d3Drag; 
} 

我用它在我的代碼是這樣的:

import * as d3Drag from 'd3-drag'; 

... 
let dragBehaivor = d3Drag.drag().on("start", dragStartFunction); 
0

您可以獲取與

npm install @types/d3-selection --save 

,將放在定義文件夾中node_modules/@類型所需的文件。然後,您應該能夠將d3選擇文件夾複製到typings文件夾,並將引用添加到那裏的index.d.ts文件中。我沒有嘗試過,因爲我正在轉向TS2,但它似乎應該起作用。

0

簡短的回答是,這是不幸的是沒有可能使用@types爲D3與打字稿1.8.x.原因有二:

  1. 整個定義/模塊分辨率TS2編譯器執行使用來自NPM @types安裝的定義是不是在TS 1.8.x的可用
  2. 你指的是https://github.com/tomwanzek/d3-v4-definitelytyped的定義現在已經遷移到DefinitelyTyped/types-2.0分支。它們是@types/d3(標準D3 v4軟件包),@types/d3-selection,@types/d3-drag等的所有這些文件,其中定義模塊結構中的所有文件僅支持TS2。它們還使用其他TS功能,如this功能鍵入上下文。

因爲這兩個原因,他們不會爲TS 1.8是可行的。

希望,你已經能夠升級,因爲你最初發布,因爲TS 2不再是測試版。