2016-09-06 87 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不再是测试版。