Ich habe zwei Fragen.
1) CSS Loader und Style Loader sind zwei Webpack-Loader. Ich konnte den Unterschied zwischen den beiden nicht erfassen. Warum muss ich zwei Lader verwenden, wenn beide den gleichen Job machen?
2) Was ist diese .useable.less und .useable.css, die in den obigen Readme.md-Dateien erwähnt werden?
webpack
webpack-style-loader
Anvesh Checka
quelle
quelle
Antworten:
Der CSS-Loader nimmt eine CSS-Datei und gibt das CSS mit den folgenden Funktionen zurück
imports
und wirdurl(...)
über die Webpack-require
Funktionalität aufgelöst:Es ist nicht wirklich tut nichts mit dem zurückgegebenen CSS.
Der Style Loader verwendet CSS und fügt es tatsächlich in die Seite ein, sodass die Styles auf der Seite aktiv sind.
Sie führen verschiedene Vorgänge aus, aber es ist oft nützlich, sie wie Unix-Pipes miteinander zu verketten. Wenn Sie beispielsweise den Präprozessor Less CSS verwenden , können Sie ihn verwenden
zu
file.less
sich mit dem Less-Loader in einfaches CSSimports
undurl(...)
s im CSS mit dem CSS-Loader aufquelle
<style>
Tagimports
Ich gehe davon verweisen auf@import
Richtlinien. Standardmäßig führt diese Direktive die importierten CSS-Regeln nicht in den Importer ein, sondern erstellt eine weitereGET
Anforderung.css-loader
Wollen Sie damit sagen, dass eine zusammengeführte Ausgabe zurückgegeben wird?css-loader
liest eine CSS-Datei als Zeichenfolge ein. Sie können es durch ersetzenraw-loader
und in vielen Situationen den gleichen Effekt erzielen. Da es nur den Dateiinhalt und nichts anderes liest, ist es im Grunde genommen nutzlos, es sei denn, Sie verketten es mit einem anderen Loader.style-loader
Nimmt diese Stile und erstellt ein<style>
Tag im<head>
Element der Seite, das diese Stile enthält.Wenn Sie sich
bundle.js
nach der Verwendung das darin enthaltene Javascriptstyle-loader
ansehen, wird im generierten Code ein Kommentar angezeigt, der besagtBeispielsweise,
Dieses Beispiel stammt aus diesem Tutorial . Wenn Sie das
style-loader
aus der Pipeline entfernen, indem Sie die Leitung ändernzu
Sie werden sehen, dass das
<style>
weggeht.quelle
css-loader
im Gegensatz zu verwendenraw-loader
?Um die zweite Frage zu beantworten: "Was ist diese .useable.less und .useable.css, die in den obigen Readme.md-Dateien erwähnt wird?", Fügt
require'd
das style-loader-Modul standardmäßig, wenn ein Stil vorliegt, automatisch ein<script>
Tag in das DOM ein und Dieses Tag bleibt im DOM, bis das Browserfenster geschlossen oder neu geladen wird. Das Style-Loader-Modul bietet außerdem eine sogenannte "Referenz-API", mit der der Entwickler Styles hinzufügen und später entfernen kann, wenn sie nicht mehr benötigt werden. Die API funktioniert folgendermaßen:Standardmäßig haben mit dieser API geladene Stylesheets die Erweiterung ".usable.css" und nicht einfach ".css" wie oben.
quelle
In der Webpack-Dokumentation wird empfohlen, Style-Loader mit CSS-Loader zu kombinieren:
https://webpack.js.org/loaders/style-loader/
quelle