2016-08-12 2 views
1

Wir haben eine Bibliothek, die traditionell nur clientseitig ist. Es verwendet HTTP Request (oder mehrere andere Abhängigkeitsbibliotheken), um REST-Aufrufe durchzuführen. Wenn die Bibliothek verwendet wird, wird der Benutzer mit einem bestimmten Anforderungsanbieter initialisiert und los geht's.In unserer Bibliothek, wie man Webpack sagt, Abhängigkeiten zu überspringen?

In unseren Beispielen verwenden wir webpack, um unsere Bibliothek zu verwenden.

Es ist jetzt erweitert, um Node-Fetch zu verwenden, also wenn jemand es von Nodejs verwenden möchte, die auch unterstützt wird.

Für Benutzer, die Webpack verwenden, versucht Webpack nun, Node-Fetch zu packen, und der erforderliche Aufruf schlägt im Browser fehl. Wir können ein externes

"externals" : { 
    "node-fetch": "{}" 
} 

Gibt es eine Möglichkeit, unsere Bibliothek zu definieren, um dieses zu erhalten mit der Einstellung, so dass, wenn der Verbraucher webpack Ziel verwendet: Web, ist es die Prüfung erfordern überspringen würde für Knoten holen? Und in ähnlicher Weise, wenn der Kunde webpack target: nodejs verwendet, muss er die Node-Fetch-Komponente enthalten.

Das Projekt in Frage https://github.com/OfficeDev/PnP-JS-Core

Antwort

1

Vielen Dank für diese Berichterstattung. Nach This commit and conversation linked to it ändert sich das Feld für die automatische Modulauflösung (auch bekannt als described-resolve für die Webpack-Resolver-Instanz) basierend auf Ihrem Ziel.

standardmäßig als Ziel node in Ihrem webpack Build ist, die Auflösung in package.json Feld sonst zum main Feld ausfällt, nimmt browser Feld Priorität standardmäßig.

Weitere Referenz https://github.com/webpack/webpack/issues/151

+0

Unsere package.json Update PR wurde behoben und Ausgabe geschlossen. Danke :) Ich hinterlasse diesen Kommentar hier als ein Beispiel dafür, wie es aussehen sollte. https://github.com/OfficeDev/PnP-JS-Core/blob/master/package.json und hier ist der Link zu den 'spec' https://github.com/defunczombie/package-browser -Feld-Spezifikation –

Verwandte Themen