Typescript kann ein Modul, das mit SystemJS zugeordnet wurde, nicht finden

8

Typescript findet das Modul in diesem Import import ga from 'googleAnalytics';

nicht

SystemJS weiß, wo das Modul zu finden ist, da es wie folgt vorgemerkt wurde:

%Vor%

Wie kann ich eine ähnliche Zuordnung zum tsc erstellen?

Diese andere Frage scheint in eine gute Richtung zu weisen: Wie vermeidet man Importe mit sehr langen relativen Pfaden in Angular 2?

Typescript 2.0 scheint die paths config für die tsconfig.json . Gibt es eine Möglichkeit, Typescript 2.0 herunterzuladen? Kann ich der path config eine HTTP-URL (//www.google-analytics.com/analytics.js) geben, so wie ich es mit mache SystemJS ? Wenn es keine Möglichkeit gibt, Typescript 2.0 herunterzuladen, wie kann ich mit der aktuellen Version das erreichen, was ich möchte?

Bearbeiten

Der spezifische Fehler, den ich bekomme, ist: "Das Modul 'ga'" kann nicht gefunden werden.

Hier ist mein tsconfig.json :

%Vor%     
maximedupre 06.05.2016, 20:21
quelle

2 Antworten

1

Ich nehme an, Sie verstehen, dass im Falle der Typoskript-Kompilierung der transpiler nach Dateien sucht. Er muss die Typdefinition des externen Moduls kennen. Ich habe Fall, Sie haben aktive Nodejs Modul-Auflösung (Sie haben) und Sie verwenden einen nicht-relativen Pfad (Sie tun) müssen Sie zu Ihrem Projekt node_modules Verzeichnis hinzufügen (vielleicht haben Sie bereits eine) und zu diesem Verzeichnis hinzufügen googleAnalytics.d.ts Datei oder Sie können das Verzeichnis node_modules / googleAnalytics erstellen und dort index.d.ts hinzufügen. Definitionstypen für Google Analytics können aus dem Repository heruntergeladen werden

Weitere Informationen zur Modulauflösung hier

BEARBEITEN: Ihrem Kommentar zufolge müssen Sie möglicherweise den Modul-Export zur Google-Definitionsdatei hinzufügen

%Vor%     
Stanislav Šolc 15.05.2016, 20:47
quelle
1

Dieses Problem kann mit Typescript Type Definitions .

Um die Definition zu verwenden:

  1. Geben Sie die Typdefinition in Ihr Verzeichnis ein. Vorgefertigte werden von DefinitelyTyped bereitgestellt.
  2. Fügen Sie diese Zeile der .ts-Datei hinzu, die Google Analytics importieren soll:

    %Vor%

Aktualisieren

Es hat bei mir funktioniert, als ich tsc ausgeführt habe. Tut mir leid, ich habe vergessen hinzuzufügen:

  1. Refactor to ga in Ihrem import s und SystemJS Mapping.

Dies bedeutet nicht, dass der Compiler weiß, dass er die SystemJS-Datei überprüfen muss, sondern fungiert nur als Platzhalter für das importierte Modul, sodass kein Fehler ausgelöst wird und wir das Modul tatsächlich zur Laufzeit mit SystemJS auflösen können.

    
jasonszhao 10.05.2016 01:26
quelle

Tags und Links