繁体   English   中英

使用Typescript 2 @Types与typescript 1.8.10

[英]Using Typescript 2 @Types with typescript 1.8.10

目前我正在尝试在我的项目中使用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?

同时我创建了一个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);

您可以使用获取必要的文件

npm install @types/d3-selection --save

这将把定义文件夹放在node_modules / @ types中。 然后,您应该能够将d3-selection文件夹复制到typings文件夹,并在那里添加对index.d.ts文件的引用。 我没有尝试过,因为我正在转向TS2,但它似乎应该可行。

简短的回答是遗憾的是,不能将@types用于TypeScript 1.8.x的D3。 有两个原因:

  1. TS2编译器执行的使用从npm @types安装的定义的整个定义/模块分辨率在TS 1.8.x中不可用
  2. 您引用的定义https://github.com/tomwanzek/d3-v4-definitelytyped现已迁移到DefinitelyTyped / types-2.0分支。 他们是为@type @types/d3 (标准D3 v4 Bundle), @types/d3-selection@types/d3-drag等提供@types的人。所有这些都是在定义模块结构中编写的,仅支持从TS 2开始他们还使用其他TS的功能,像this类型的功能上下文。

由于这两个原因,它们对于TS 1.8来说是不可行的。

希望您自最初发布以来已经能够升级,因为TS 2不再是测试版。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM