Schauen wir uns zunächst die Codedateistruktur an:Inhalt der Eintragsdatei (index1.js):importiere $ aus 'jquery' importiere './css/index.css' importiere './less/index.less' $(Funktion () { $('#app li:nth-child(odd)').css('Farbe', 'rot') $('#app li:nth-child(even)').css('Farbe', 'grün') }) importiere „./assets/fonts/iconfont.css“; const ul = document.querySelector("ul"); const theI = document.createElement("li"); theI.Klassenname='Iconfont icon-qq'; ul.appendChild(dasI); Inhalt der Konfigurationsdatei webpack.config.js:const path = require('Pfad'); const HtmlWebpackPlugin = erfordern('html-webpack-plugin'); modul.exporte = { //Eintrag Dateiadresse Eintrag: './src/index1.js', Ausgabe: { Pfad: Pfad.auflösen(__dirname, 'dist'), //Dateiname exportieren Dateiname: 'bundle.js', }, Plugins: [ neues HtmlWebpackPlugin({ Vorlage: „./public/interlaced color.html“ })], Modul: { Regeln: [{ //Suche nach Dateien mit der Endung .css, i berücksichtigt keine Groß-/Kleinschreibung.Test: [/\.css$/i], //Von rechts nach links ausführen, die Reihenfolge kann nicht geändert werden. Style-Loader fügt CSS in DOM ein und CSS-Loader verarbeitet @import und url(), genau wie JS import/require() analysiert. use: ["style-loader", "css-loader"], }, { Test: /\.less$/i, verwenden: [ // kompiliert Less zu CSS "Stillader", "CSS-Lader", 'weniger-Loader', ], }, { // webpack5 erkennt diese Dateien standardmäßig nicht, also gib sie einfach als statische Ressourcen aus. Test: /\.(eot|svg|ttf|woff|woff2)$/, Typ: „Vermögenswert/Ressource“, Generator: { Dateiname: 'Schriftart/[Name].[Hash:6][Erw.]' } }], }, }; Wir packen die gepackte HTML-Datei und führen sie dann aus: Es wird festgestellt, dass der CSS-Stil in Form von von js generierten Stil-Tags hinzugefügt wird Nach dem Ausführen des Pakets werden wir feststellen, dass Less in eine CSS-Datei konvertiert wird, die CSS-Datei jedoch über JS mit einem Style-Tag versehen wird. Als Nächstes werden wir das CSS heraustrennen und mit einem Link-Tag einführen Schritt:1. Installieren Sie das Mini-CSS-Extract-Pluginnpm i mini-css-extract-plugin -D //npm-Installation yarn add mini-css-extract-plugin -D //Yarn-Installation 2. Einführung und Konfiguration in der Datei webpack.config.jsconst path = require('Pfad'); const HtmlWebpackPlugin = erfordern('html-webpack-plugin'); //Stelle das installierte Mini-CSS-Extract-Plugin vor const MiniCssExtractPlugin = erfordern("mini-css-extract-plugin"); modul.exporte = { //Eintrag Dateiadresse Eintrag: './src/index1.js', Ausgabe: { Pfad: Pfad.auflösen(__dirname, 'dist'), //Dateiname exportieren Dateiname: 'bundle.js', }, Plugins: [neues MiniCssExtractPlugin(), neues HtmlWebpackPlugin({ Vorlage: „./public/interlaced color.html“ })], Modul: { Regeln: [{ //Suche nach Dateien mit der Endung .css, i berücksichtigt keine Groß-/Kleinschreibung.Test: [/\.css$/i], //Von rechts nach links ausführen, die Reihenfolge kann nicht geändert werden. Style-Loader fügt CSS in DOM ein und CSS-Loader verarbeitet @import und url(), genau wie JS import/require() analysiert. use: [MiniCssExtractPlugin.loader, "css-loader" ], }, { Test: /\.less$/i, verwenden: [ // kompiliert Less zu CSS MiniCssExtractPlugin.loader, "CSS-Lader", 'weniger-Loader', ], }, { // webpack5 erkennt diese Dateien standardmäßig nicht, also gib sie einfach als statische Ressourcen aus. Test: /\.(eot|svg|ttf|woff|woff2)$/, Typ: „Vermögenswert/Ressource“, Generator: { Dateiname: 'Schriftart/[Name].[Hash:6][Erw.]' } }], }, }; Beachten:
3. Komprimieren Sie die geteilten CSS-Dateien
const path = require('Pfad'); const HtmlWebpackPlugin = erfordern('html-webpack-plugin'); //Stelle das installierte Mini-CSS-Extract-Plugin vor const MiniCssExtractPlugin = erfordern("mini-css-extract-plugin"); //CSS wird verwendet, um die Teilung zu komprimieren const OptimizeCSSAssetsPlugin = erforderlich('optimize-css-assets-webpack-plugin'); modul.exporte = { //Eintrag Dateiadresse Eintrag: './src/index1.js', Ausgabe: { Pfad: Pfad.auflösen(__dirname, 'dist'), //Dateiname exportieren Dateiname: 'bundle.js', }, Plugins: [neues MiniCssExtractPlugin(),neues OptimizeCSSAssetsPlugin({}), neues HtmlWebpackPlugin({ Vorlage: „./public/interlaced color.html“ })], Modul: { Regeln: [{ //Suche nach Dateien mit der Endung .css, i berücksichtigt keine Groß-/Kleinschreibung.Test: [/\.css$/i], //Von rechts nach links ausführen, die Reihenfolge kann nicht geändert werden. Style-Loader fügt CSS in DOM ein und CSS-Loader verarbeitet @import und url(), genau wie JS import/require() analysiert. use: [MiniCssExtractPlugin.loader, "css-loader" ], }, { Test: /\.less$/i, verwenden: [ // kompiliert Less zu CSS MiniCssExtractPlugin.loader, "CSS-Lader", 'weniger-Loader', ], }, { // webpack5 erkennt diese Dateien standardmäßig nicht, also gib sie einfach als statische Ressourcen aus. Test: /\.(eot|svg|ttf|woff|woff2)$/, Typ: „Vermögenswert/Ressource“, Generator: { Dateiname: 'Schriftart/[Name].[Hash:6][Erw.]' } }], } }; 4. VerpackungIch habe eine zusätzliche main.css-Datei gefunden und die Webseite geöffnet, um sie anzuzeigen: Die Datei main.css wird als Link importiert und komprimiert. Dies ist das Ende dieses Artikels über das Aufteilen und Komprimieren von CSS durch Webpack und dessen Importieren mit Link. Weitere relevante Inhalte zum Aufteilen und Komprimieren von CSS durch Webpack finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detailliertes Tutorial zum Ausführen mehrerer Springboot mit Docker
>>: Tutorial zur HTML-Tabellenauszeichnung (15): Tabellentitel
1. Einführung in Nginx Nginx ist ein Webserver, d...
Anforderungsszenario: Die vorhandene PXC-Umgebung...
Awk ist eine Anwendung zur Verarbeitung von Textd...
In der fünften Ausgabe von Web Skills wird ausdrü...
Einführung in das Schlüsselwort void Zunächst ein...
Erstens: Starten und stoppen Sie den MySQL-Dienst...
<br />Verwandte Artikel: 9 praktische Vorsch...
Inhaltsverzeichnis 1. Installieren Sie JDK 2. Jen...
Der detaillierte Prozess zum Konfigurieren des My...
erreichen Dieser Effekt lässt sich mit CSS nur sc...
Das Standard-Remote-Repository von Nexus ist http...
Die aktuelle Umgebung ist: Centos 7.5 docker-ce 1...
Inhaltsverzeichnis 1. Anti-Shake-Funktion 2. Verw...
Vorwort Vue bietet eine Fülle integrierter Anweis...
Linux ist ein offenes System. Im Internet sind vi...