如何在ts angular 2 app中使用普通的js lib

时间:2016-07-11 16:33:26

标签: javascript d3.js typescript angular

我正在用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(没有它被编译器搞定)?

1 个答案:

答案 0 :(得分:1)

我希望这个傻瓜会帮助你:https://embed.plnkr.co/qM3qrk3swvalQFBh1Db1/