"Namespacing" ein Import in systemJS

8

Ich möchte eine Bibliothek IP-Adresse mit SystemJS verwenden (beachten Sie, diese Frage sieht vielleicht ähnlich aus, aber es ist ein anderes Problem, dem ich beim Versuch, diese Aufgabe zu bewältigen, in die Quere kommen musste.

Die IP-Adresse der Bibliothek hängt von util-deprecate ab. Es importiert es wie folgt:

%Vor%

Und benutzt es dann wie folgt:

%Vor%

Wenn ich IP-Adresse in ein Knotenprojekt als ... importieren

%Vor%

... dann bekomme ich keine Probleme.

Wenn ich die IP-Adresse in ein SystemJS-Projekt importiere ...

%Vor%

... dann bekomme ich einen Fehler:

%Vor%

Wie kann ich SystemJS konfigurieren, um diesen Import durchzuführen? Momentan konfiguriere ich es so ...

%Vor%

Nur um eine Suche zu speichern, ist die Datei browser.js von util-deprecate hier , exportiert es die deprecate-Funktion direkt.

Hinweis: Ich kann dies zum Laufen bringen, wenn ich das IP-Adressmodul so modifiziere, dass alle Anrufe das folgende Format haben:

%Vor%

Ich würde lieber keine Bibliothek eines Drittanbieters ändern, wenn ich es jedoch vermeiden kann.

    
Pace 22.07.2016, 20:00
quelle

2 Antworten

5

Ok, es stellte sich heraus, dass ich dachte das ip-address Modul verwendete util-deprecate . Es stellt sich heraus, dass das Modul ip-address import util ...

importiert hat %Vor%

Es wurde nicht util-deprecate importiert, sondern das eingebaute Node-Paket util . Damit ip-address wirklich util-deprecate verwenden kann, muss eine Änderung am Modul ip-address vorgenommen werden.

    
Pace 25.07.2016, 20:52
quelle
3

Da Sie mit markiert sind, gibt es eine ziemlich einfache Lösung.

Mit jspm kannst du einfach IP-Adresse direkt von npm mit

installieren %Vor%

, die das gesamte Abhängigkeitsmanagement für Sie erledigt.

Ich habe das im Browser getestet und node.js mit dem Beispielcode ip-address liefert:

%Vor%

und es funktioniert völlig gut.

    
mash 29.07.2016 22:50
quelle

Tags und Links