Angular2 - Importieren von JavaScript von Drittanbietern in SystemJS

8

fileSaver wird aus irgendeinem Grund nicht zugeordnet. angular2-jwt funktioniert gut.

Ich habe npm install file-saver -save , um den File-Saver zu bekommen, dann referenziere ich ihn wie folgt (Ich habe einen Schluck-Task, um die js-Datei in das libs-Verzeichnis zu verschieben, und ich sehe die Datei dort)

in index.html Ich habe das Skript in src und system.config

aufgenommen %Vor%

component.ts

Hier findet es den fileSaver

nicht %Vor%

der Fehler, den ich bekomme, ist dies

%Vor%

Irgendeine Idee, was hier falsch ist?

    
user2180794 16.06.2016, 07:08
quelle

3 Antworten

2

In meinem Fall habe ich es so gemacht:

package.json :

%Vor%

index.html :

%Vor%

typings.json :

%Vor%

Verwendung :

%Vor%

Sie müssen npm install ausführen, bevor Sie es ausführen.

Das ist es, hoffe es hilft.

  

Dies lässt Sie import {SaveAs} from 'fileSaver'; nicht zu, noch haben Sie vollständige Code-Vervollständigung, aber bei   mindestens funktioniert es

    
Sergio 03.07.2016 10:43
quelle
0

Eine andere Möglichkeit ist die von JSMike hier: Ссылка

"Dies ist wirklich nur ein Typoskript Problem. Fügen Sie einfach src / typings.d.ts"

hinzu %Vor%

"und verwenden Sie"

%Vor%     
Octavio Garbarino 05.09.2016 20:33
quelle
0

Installierte die Bibliothek und die Typings (@types). Dann,

%Vor%

hat funktioniert. Außerdem musste ich das Modulformat von Dateischoner in der System JS-Konfiguration explizit auf cjs setzen:

%Vor%

Soweit ich weiß, wird SystemJS den File-Saver standardmäßig als AMD-Modul erkennen. Vielleicht stimmt etwas mit der AMD-Moduldefinition in File-Saver nicht, aber ich habe kein sehr tiefes Verständnis davon. (Siehe auch Ссылка )

Ohne cjs-Modulformat zu setzen, habe ich "fileSaver.saveAs ist keine Funktion" zur Laufzeit.

    
Stefan Ocke 28.01.2017 09:55
quelle

Tags und Links