2017-12-29 41 views
0

Ich versuche zu verstehen, wie die Interna von Webpack arbeiten, um in der Zukunft beizutragen. Ich bemerkte, dass beim Ausführen von Webpack die webpack Funktion in /lib/webpack.js mit einem options Argument ausgelöst wird.Es wurde festgestellt, dass eine Kontexteigenschaft zusammen mit meiner Konfiguration an Webpack übergeben wurde. Woher kommt das?

Der Wert dieses Arguments ist mein Konfigurationsobjekt definiert in webpack.config.js PLUS eine context Eigenschaft, die ich nie definiert habe. Woher kommt diese context Eigenschaft? Gibt es einen Schritt, der auftritt, bevor die webpack-Funktion ausgelöst wird?

+1

'WebpackOptionsDefaulter' – Chay22

+0

Es scheint, dass ich die falsche Ausgangspunkt gehe davon aus. Sieht aus, als sollte ich '/ bin/webpack.js', nicht'/lib/webpack.js' betrachten. Im ersten Fall ist die Funktion 'processOptions', die anscheinend die Eigenschaft' context' hinzufügt. – jakewies

Antwort

0

Webpack muss wissen, wo Sie nach Dateien suchen müssen, auf die Sie entweder in Ihrer Webpack-Konfigurationsdatei oder in Ihren JS-Quelldateien verweisen, die von Webpack verarbeitet werden.

Standardmäßig wird das aktuelle Arbeitsverzeichnis der CLI verwendet - häufig das gleiche Verzeichnis, in dem Ihre Webpack-Konfigurationsdatei vorhanden ist. Sie sollten dies jedoch immer manuell unter Verwendung des Schlüssels context in Ihrer Webpack-Konfig definieren Datei (siehe https://webpack.js.org/configuration/entry-context/#src/components/Sidebar/Sidebar.jsx).

Webpack verwendet diesen Verzeichnispfad (absoluter Pfad) als Präfix für jeden module resolution/aliasing gesamten Dateien in Ihrer Quelle usw. verwendet

+0

Rechts. Ich verstehe das. Ich stelle diese Frage aus der Perspektive von jemandem, der den Webpack-Quellcode liest/versucht zu verstehen. Mir ist aufgefallen, dass es ein Optionsobjekt mit einem Wert gibt, der meiner Konfiguration plus der context -Eigenschaft entspricht, die ich nie explizit definiert habe. Dies führte mich zu der Annahme, dass es einen weiteren Schritt gab, bevor der, den ich annahm, der erste Schritt war. – jakewies

Verwandte Themen