我一直在尝试使用我的Angular2应用程序启动D3.
然而,新的D3v4和可用的打包文件似乎存在问题,即尝试使用诸如scaleLinear()之类的新方法而不是不再可用的scale.linear()将导致错误
类型’typeof d3’上不存在属性’scaleLinear’.
然而,新的D3v4和可用的打包文件似乎存在问题,即尝试使用诸如scaleLinear()之类的新方法而不是不再可用的scale.linear()将导致错误
类型’typeof d3’上不存在属性’scaleLinear’.
由于tomwanzek似乎已经在这个问题并试图在https://github.com/tomwanzek/d3-v4-definitelytyped创建新的定义,我想知道是否有办法在我的angular2项目中手动包含已经可用的打字文件?
解决方法
在参考Arlo的回答时,让我扩展一下简短的历史和当前的答案.我创建了repo
https://github.com/tomwanzek/d3-v4-definitelytyped以开发新的D3版本4 TypeScript定义,当D3 v4尚未最终完成且TypeScript 2即将出现时.后者是一个主要因素,因为它改变了定义的写法和可以获得的方式,即@types.
通过对回购商中列出的合作者的一些着名点头,我们最终确定了定义并将它们迁移到DefinitelyTyped.它们现在主动维护在DefinitelyTyped的types-2.0分支中.这是发布到npm @types的分支.
您可能已经看到的一些混淆,与个别D3 v4模块定义的事实有关,例如: d3-selection,已经通过npm install –save @ types / d3-selection提供了相当长的一段时间.然而,直到昨天,npm install –save @ types / d3获得的定义仍然拉低了旧的D3 v3.5.x定义.
截至目前,D3 v4标准软件包定义可从npm install –save @ types / d3获得(如果需要,仍可通过获取3.5版本从@types中提取D3 v3.5的旧版本定义)
至于使用导入的定义:
>不要分别从(‘d3’和’@ types / d3’)安装和使用d3标准捆绑包,同时分别安装已包含在其中的D3模块,例如: ‘d3-hierarchy’和’@ types / d3-hierarchy’.
至于Angular 2,是的,d3-ng2服务或类似的东西是一种方法.我确信它可以有所改进,它是与angular-cli一起开始快速原型制作的.