我正在用TypeScript构建一个Angular 2(rc.4)应用程序,我想使用D3。
我已经通过npm install安装了D3,但这是一个没有.d.ts文件的js模块。但是,我找到了一个.d.ts文件here。
我现在做什么(一个组件):
import d3 from 'node_modules/d3/build/d3.min.js';
//<reference path="../declaration/d3.d.ts" />
//[...]
export class Test {
constructor() {
this.object = this.d3.select(...);
}
}
如果我在TS文件中的那一行设置断点,我可以很好地执行所有操作。但是,此文件的映射.js版本已转换为:
var d3_min_js_1 = require('node_modules/d3/build/d3.min.js');
[...]
this.object = d3_min_js_1.default.select(...);
d3_min_js_1
对象存在,但没有'default',因此会抛出一个未定义的异常......
我如何正确地获得此映射(我很确定d3.d.ts什么都不做)或者如何在TS文件中使用普通的javascript(没有它被编译器搞定)?