2016-07-11 4 views
0

Ich baue eine Angular 2 (rc.4) App mit TypeScript und ich möchte D3 verwenden.Wie zu verwenden plain js lib in einem ts angular 2 App

Ich habe D3 über Npm installieren installiert, aber das ist ein JS-Modul ohne. DTS-Datei. Ich habe jedoch eine .d.ts Datei here gefunden.

Was ich jetzt tun (eine Komponente):

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(...); 
    } 
} 

Wenn ich einen Knickpunkt auf dieser Linie in der TS-Datei festgelegt, kann ich alles ganz gut ausführen. Allerdings wurde die abgebildete Js Version dieser Datei konvertiert:

var d3_min_js_1 = require('node_modules/d3/build/d3.min.js'); 
[...] 
this.object = d3_min_js_1.default.select(...); 

Das d3_min_js_1 Objekt vorhanden ist, aber es gibt keine ‚Standard‘, so dass es eine undefinierte Ausnahme wirft ...

Wie kann ich bekomme diese Zuordnung richtig (ich bin ziemlich sicher, dass d3d.d.ts nichts tut) oder wie kann man das einfache Javascript in der TS-Datei verwenden (ohne dass es vom Compiler abgefangen wird)?

+0

Funktioniert es, wenn Sie prepend '/' auf dem Weg, direkt vor 'node_modules'.? I.e. 'import d3 from './node_modules/d3/build/d3.min.js;' – meetamit

Antwort

Verwandte Themen