2016-05-26 2 views
36

Was ist der Unterschied zwischen Loadern und Plugins im Webpack?Webpack-Loader gegen Plugins; was ist der Unterschied?

Die documentation for plugins sagt nur:

Verwenden Plugins typischerweise erweitern die Funktionalität Bündel in webpack bezogen.

weiß ich, dass babel einen Lader für jsx/es2015 Transformationen verwendet, aber es sieht aus wie andere allgemeine Aufgaben (copy-webpack-Plugin, zum Beispiel) verwenden Plugins statt.

+2

Loader werden Dateien umwandeln erkennbar js (und etwas während der Transformation tun), Plugins können tun, was sie brauchen, auf Loader-Ausgabe. –

Antwort

27

Loader führen die vorverarbeitende Umwandlung praktisch jedes Dateiformats durch, wenn Sie in Ihrem Code "sth" wie require("my-loader!./my-awesome-module") verwenden. Im Vergleich zu Plugins sind sie recht einfach, da sie (a) nur eine einzige Funktion gegenüber dem Webpack offenlegen und (b) den eigentlichen Build-Prozess nicht beeinflussen können.

Plugins auf der anderen Seite können tief in webpack integrieren, weil sie Hooks innerhalb des Buildsystems von webpacks registrieren können und auf den Compiler zugreifen können (und modifizieren) und wie es funktioniert, sowie die Kompilierung. Daher sind sie leistungsfähiger, aber auch schwieriger zu warten.

17

Hinzufügen ergänzende und einfachere Antwort.

Lader:

Lader auf der Dateiebene arbeiten während oder vor das Bündel erzeugt wird.

Plugins:

Plugins arbeiten bei Bündel oder chunk Ebene und in der Regel am Ende arbeiten des Bündelerzeugungsprozesses. Plugins können auch modifizieren, wie die Bundles selbst erstellt werden. Plugins haben eine stärkere Kontrolle als Loader.

Nur ein Beispiel kann man deutlich unter dem Bild sehen in den Lader arbeiten und wo Plugins arbeiten -

enter image description here Referenzen: Article und Image

+3

Gut gemacht! Zwei einfache Sätze und ich verstehe jetzt den Unterschied. Bitte fahren Sie fort, die gesamte web pack docs-Bibliothek neu zu schreiben, weil es völlig unverständliches Kauderwelsch ist. – rism

Verwandte Themen