Typescript d3 - 类型“typeof d3”上不存在属性“pie”

问题描述 投票:0回答:3

我在尝试创建 D3 饼图时遇到问题,我正在使用 d3 v4,如果我使用:

/// < reference path="../typings/index.d.ts" />
import * as d3 from "d3"; 
d3.layout.pie< IData.IPie>().value(function (d) {

Grunt 编译正常,但在浏览器中失败并显示:

无法读取未定义的属性“pie”

那是因为 d3 v4 使用了这个:

d3.pie< IData.IPie>().value(function (d) {

但是如果我改变它并尝试运行 grunt ,我会得到:

[ts] 类型“typeof d3”上不存在属性“pie”。

有什么提示吗?

node_modules/d3: "_id": "[电子邮件受保护]"

打字:https://raw.githubusercontent.com/types/npm-d3/a3171387d85d30049479ca880c617e63dca23afe/index.d.ts

编辑:

package.json

{
  "name": "OpenCharts",
  "description": "It's time to easier beautiful charts",
  "version": "0.0.2",
  "devDependencies": {
    "@types/d3": "^4.5.0",
    "grunt": "^0.4.5",
    "grunt-contrib-concat": "~0.4.0",
    "grunt-contrib-nodeunit": "~0.4.1",
    "grunt-contrib-uglify": "~0.5.0",
    "grunt-ts": "^6.0.0-beta.3",
    "grunt-tslint": "^4.0.0"
  },
  "author": "Chriss Mejía",
  "license": "MIT",
  "dependencies": {
    "d3": "^4.4.0"
  }
}

删除打字参考路径没有什么区别。

javascript d3.js typescript svg
3个回答
2
投票

看来您正在使用

type
作为版本 3,而您的 d3 版本是 4。

删除已安装的类型定义,然后安装它

npm install @types/d3 --save-dev

Github 仓库: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/d3


0
投票

使用 new Chartist.PieChart('#MyChart', this.chartData, this.chartOptions);

而不是.pie


-1
投票

基本上与打字有冲突,当我完全删除库时它才开始工作:

typings uninstall d3
npm uninstall typings
© www.soinside.com 2019 - 2024. All rights reserved.