我是Typescript的新手(2周),我正在做一个项目来 Package d3.js框架。我遇到了一个关于“d3.d.ts”的使用、命名空间、导出模块、导入的问题。
我的问题:当我尝试使用d3.scale.linear()时,我的浏览器控制台中出现错误:
TypeError: d3.scale is undefined
代码:
/// <reference path="../typings/d3.d.ts">;
"use strict";
var linear = d3.scale.linear();
console.log("linear resolv !")
我的编译器选项(我在编译过程中没有错误,但可能很有趣):
{
"files": [
"src/twod3/workspace.ts",
"src/twod3/component/basic.ts",
"src/twod3/component/data.ts",
"src/twod3/component/operation.ts",
"src/main.ts"
],
"compilerOptions": {
"noImplicitAny": true,
"target": "es2015",
"module":"commonjs",
"sourceMap":true
}
}
我尝试了不同导入策略,但没有成功。
d3.d.ts文件
declare namespace d3 {
...
export module scale {
...
export function linear(): Linear<number, number>;
...
}
}
我不明白这个问题,谢谢你的帮助。
2条答案
按热度按时间km0tfn4u1#
注意d3.js版本在4.2.1版本中为d3.scale.linear();会产生下列错误。TypeError:未定义d3.scale.linear()比例
我在版本4.2.1中通过使用d3.scaleLinear()修复了此错误;
ymzxtsji2#
我也遇到过类似的问题。我必须匹配D3版本,它支持D3的内置方法。要么匹配D3. js的版本,确保更新您的浏览器,要么匹配当前版本的内置方法。
我支持的
d3.scale.ordinal
版本是“3.5.17”,以前我使用的是最新版本。