目前我正在尝试在我的项目中使用d3-drag v4类型。 他们正在使用Ts 1.8.10而没有准备好转向TS2测试版。
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
但我收到以下错误:
打字ERR!引起的 /tomwanzek/d3-v4-definitelytyped/47eae6d/src/d3-selection.d.ts 回复404,预计它等于200
我发现有人在这里问同样的问题:
https://github.com/tomwanzek/d3-v4-definitelytyped/issues/93
但它没有回答我的问题,因为我还不能迁移到ts2。 无论如何使用@types与TS 1.8.10?
答案 0 :(得分: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);
答案 1 :(得分:0)
您可以使用
获取必要的文件npm install @types/d3-selection --save
这会将定义文件夹放在node_modules / @ types中。然后,您应该能够将d3-selection文件夹复制到typings文件夹,并在那里添加对index.d.ts文件的引用。我没有尝试过,因为我正在转向TS2,但它似乎应该可以工作。
答案 2 :(得分:0)
简短的回答是遗憾的是,不能将@types用于TypeScript 1.8.x的D3。有两个原因:
@types/d3
(标准D3 v4 Bundle),@types/d3-selection
,@types/d3-drag
等提供@types的人。所有这些都是在定义模块结构中编写的,仅支持TS 2。它们还使用其他TS功能,例如函数上下文的this
类型。由于这两个原因,它们不适用于TS 1.8。
希望您自最初发布以来已经能够升级,因为TS 2不再是测试版。