2016-05-14 7 views
0

Ich arbeite an einem NPM-Modul, das um eine ziemlich alte "RESTful-like" web API um Daten abrufen wird. Einige Daten dieser API sind nur als XML verfügbar. Ich habe xml2js verwendet, um es zu transformieren es zu analysieren.Verwenden Sie eine Abhängigkeit in Node, eine andere in Browser

Ich würde im Idealfall ein Paket, das in Node oder im Browser arbeiten kann. Ich habe vor kurzem eine browserify Build-Aufgabe hinzugefügt und die Ausgabedatei war 416kb. Scheint ein bisschen groß für das, was es ist. Stellt sich heraus, die Hälfte der Masse kommt von xml2js.

Es scheint, als würde der Zugriff auf den DOM-Parser des Browsers das Parsen von XML ziemlich einfach machen. Grundsätzlich möchte ich meine require('xml2js')-Anweisung überschreiben, wenn Sie browserify entweder mit einem benutzerdefinierten Skript oder einem anderen Paket verwenden.

Ich fand browserify-bypass, aber es scheint nicht mehr zu funktionieren ... Ich bekomme browserify(...).use ist keine Funktion, die ist fair genug - es wurde nicht in vier Jahren aktualisiert.

Gibt es eine Möglichkeit, dies zu tun, die ich vermisse, wenn nicht mit browserify als mit Webpack?

+0

Vielleicht [aliasify] (https://github.com/benbria/aliasify) würde helfen. –

+0

Das ist perfekt. Vielen Dank. Wenn Sie es als Antwort einreichen wollen, akzeptiere ich es. – caseyy

Antwort

0

Mit aliasify können Sie Aliase für Module definieren in packgage.json:

{ 
    "aliasify": { 
     "aliases": { 
      "underscore": "lodash" 
     } 
    } 
} 

Dann wird require('underscore') automatisch require('lodash') umgewandelt werden.

Verwandte Themen