'd3 und' d3-hexbin 'in Typoskripten als globale Bibliotheken

9

Also verwende ich d3 und d3-hexbin als globale Bibliotheken:

%Vor%

... und referenziere sie in .ts as:

%Vor%

... mit DefinitelyTyped Definitionen. Aber obwohl das funktioniert:

%Vor%

... das:

%Vor%

... scheitert mit a:

%Vor%

Gedanken?

    
Hugo Sereno Ferreira 21.08.2017, 21:25
quelle

1 Antwort

0

Auch wenn Sie typen für d3 haben, haben Sie nicht die abgeleiteten Typisierungen für d3-hexbin. Sie müssen also auf die declare -Methode zurückgreifen, wie ich sie hier für d3-cloud gemacht habe: Typings for d3-Wolke

Im Grunde genommen müssen Sie folgende Schritte ausführen:

  1. import die d3-Bibliothek wie üblich, aber geben Sie ihr einen Alias: import * as D3 from 'd3'; (Hinweis: Capital D für D3)

  2. declare d3 wieder, so dass Sie es für hexbin verwenden können: declare let d3: any;

  3. Verwenden Sie D3 für alles, was die Eltern-d3-Bibliothek betrifft, und d3 für die Hexbin-Generation allein.

const svg = D3.select('#hitmap').append('svg');

const hexbin = d3.hexbin().radius(binsize + 1);

Dies verhindert, dass der Editor Hexbin-spezifische Vorschläge anzeigt, und Typescript kann Hexbin-spezifische Typfehler nicht abfangen. Aber leider, bis offizielle Typings für Hexbin ankommen, ist dies der beste Weg, den ich gefunden habe.

    
Rajshri Mohan K S 29.08.2017 11:04
quelle

Tags und Links