Wenn ich eine Loader-Konfiguration mit mehreren Tests habe, die mit einer Datei übereinstimmen, würde ich erwarten, dass nur der erste passende Loader verwendet wird, aber das scheint nicht der Fall zu sein.
Ich habe versucht, die Quelle zu lesen, aber selbst als ich das Bit gefunden habe, von dem ich glaube, dass es das Laden implementiert, kann ich nicht verstehen, wie es sich verhält.
In der Dokumentation wird auch nicht erwähnt, wie sich diese Situation verhalten soll.
"style!css"
, stellen Sie sie sich wie Funktionen vor:style( css( file ) )
... wird in diesem Fallcss
zuerst aufgerufen.style( css( file ) )
Erklärung ist eine Erleichterung für mich.Offizielle Dokumentation erklärt es wirklich gut. Leider sind alle notwendigen Informationen in verschiedenen Abschnitten der Dokumentation verteilt. Lassen Sie mich alles zusammenfassen, was Sie wissen müssen.
1.
2.
3.
So...
Wenn Sie
somefile.css
und Sie Leiten durchloaderOne
,loaderTwo
,loaderThree
ist , verhält sich wie eine normale Funktion gekettet.bedeutet genau das gleiche wie ...
Wenn du vom Grunzen kommst || Schluck Welt ist es verwirrend. Lesen Sie einfach die Reihenfolge der Lader von rechts nach links.
quelle
loaderOne
in Ihrem Beispiel befindet.push
zu den Regeln hinzufügen können und sich nicht darum kümmern müssen, sie voranzustellen.Diese Antwort war hilfreich für mich, aber ich möchte sie um einen weiteren Punkt ergänzen, der sich auf die Laderreihenfolge auswirkt, nämlich den Loadernamen! Ansatz.
Angenommen, Sie haben eine
url-loader
in Ihrer Konfiguration mit einer höheren Priorität alsfile-loader
und möchten mit dieser einen Bildpfad importieren . Wenn Sie nichts tun, wird die Datei über importierturl-loader
(wodurch eine codierte Daten-URL erstellt wird).Wenn Sie dem Import ein Präfix voranstellen, wird der Import
file-loader!
an diesen Loader weitergeleitet.quelle
!!
, andere Lader zu überspringen.