Gibt es einen nutzen zu installieren d3.js über npm für Eckige 2 Typoskript-Projekt?

TL;DR: d3.js sollte installiert werden, die über npm, als sollten die Testungen. Akzeptierte Antwort hat details. Ich war neu in Eckigen wenn ich schrieb diese Frage. Die npm Prozess ist der standard: für Baum-schütteln, Paketverwaltung, Update usw


Habe ich eine Eckige 2-Projekt (es ist die Quick-Start-Projekt für Einfachheit), und ich bin importieren d3.js version 4. Es gibt keine TypeScript Definitionen mit d3, da es auf javascript basiert nur.

In der index.html ich füge die lib:

<script src="https://d3js.org/d3.v4.min.js"></script>

In der Typoskript-app.Komponente.ts, ich mich auf die d3.wählen Sie().... und es funktioniert - zieht einen Kreis:

d3.select("body").append("svg").attr("width", 50).attr("height", 50).append("circle").attr("cx", 25).attr("cy", 25).attr("r", 25).style("fill", "purple");

Visual Studio den Code nicht erkennen, d3, damit ich installieren die Testungen von DefinitelyTyped - die IDE dann erkennt d3, und ich bekomme die code-Vervollständigung etc.:

typings install dt~d3 --save --global

Nun, ich versuchte es ein zweites Projekt, das aber ging die npm route npm install --save d3 und ich kann auf die d3.js via node_modules in index.html mit

<script src="node_modules/d3/build/d3.min.js"></script>

Aber ich sehe nicht ein, warum ich mit npm in diesem Fall? Ich bin nicht mit import-Anweisungen für die d3 in der Komponente.ts-Dateien, und es funktioniert trotzdem. Vielleicht bin ich hier etwas fehlt?

  • d3 ist definiert in den globalen Bereich in d3.min.js, so brauchen Sie nicht zu importieren-nichts, solange die Datei in die Seite eingeschlossen. Npm nicht alle Vorteile, die hier (außer, dass es verwaltet die Abhängigkeiten für Sie)
  • Und wenn ich nicht mit den globalen scope... würde es funktionieren. Ich konnte nicht um es zu bekommen Arbeit, indem Sie Importe
  • Ich denke, es wäre, aber ich bin nicht vertraut mit typesccripts Projekte. Ich fürchte, ich kann Ihnen nicht helfen, sich mehr auf diese.
  • import * als d3 aus 'd3'; funktioniert, aber ich habe die angular2-Samen-setup. Musste npm installieren [email protected] als v4 hat Probleme mit dem importieren. Die systemjs konfiguriert werden muss, um in den Winkel-2 quickstart, aber angular2-Saatgut importiert automatisch
InformationsquelleAutor Drenai | 2016-07-08
Schreibe einen Kommentar