d3.js Typescript依赖编译错误

时间:2017-05-26 18:28:53

标签: javascript typescript d3.js compilation typescript-typings

我正在使用带有Angular,Typescript和d3.js(以及其他内容)的Node.js设计Web应用程序。应用程序启动并运行,库功能按预期工作。但是,我无法正确编译我的Typescript文件,因为我遇到了d3类型定义的错误(见下文)。

Error:(182, 27) TS2339:Property 'time' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.
Error:(187, 27) TS2339:Property 'scale' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.
Error:(193, 28) TS2339:Property 'svg' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.
Error:(195, 47) TS2339:Property 'time' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.
Error:(258, 28) TS2339:Property 'svg' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.
Error:(915, 23) TS2339:Property 'svg' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.
Error:(970, 25) TS2339:Property 'svg' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.
Error:(1147, 21) TS2339:Property 'svg' does not exist on type 'typeof 
  "C:/Users/my.user/project/workspace/node_modules/@types/d3/index"'.

这些属性似乎工作正常,但是打字稿编译器无法识别它们,表明我的@ types / d3依赖项存在问题。

我使用的d3.js版本为 3.4.8 ,@ types / d3的版本为 4.3.0

我确定这两个版本不匹配,但我仍然需要找到一对匹配的版本号,并且还提供了Typescript无法识别的属性。

根据我需要访问的属性,是否有人可以推荐这些库的组合?我假设我的d3打字在某种程度上落后了,所以也许旧的版本适合?如果有人有答案,甚至系统地找出我需要的版本,那将非常有帮助。

1 个答案:

答案 0 :(得分:0)

我知道这个问题已在几个月前发布,但仍需要回答。

首先检查package.json文件中的d3和@types版本。 如你所说,

  • 您使用的是d3 v3.4.8,因此您应该使用@ types / d3 @ 3.4.8。
  • 您使用的是@ types / 4.3.0,它与d3 v4.3.0兼容。

注意:请务必使用d3并输入相同的版本。

搜索类型go to microsoft official site.