Schritte zum Aufteilen und Komprimieren von CSS mit Webpack und zum Importieren mit Link

Schritte zum Aufteilen und Komprimieren von CSS mit Webpack und zum Importieren mit Link

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-Plugin

npm 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.js

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");
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:

  • HtmlWebpackPlugin fügt die CSS-Datei in Form eines Links in die gepackte HTML-Seite ein.
  • Die Verwendungskonfigurationselemente sind von rechts nach links.
  • Bei der Verwendung von CSS und Less, d. h. im Verwendungskonfigurationselement, darf MiniCssExtractPlugin.loader nicht nach dem CSS-Loader und vor dem Style-Loader platziert werden, da der CSS-Loader und der Less-Loader @import und url() verarbeiten, genau wie js import/require() analysiert (es danach zu platzieren ist gleichbedeutend mit einer Aufteilung vor der Analyse, was zu einem Fehler führt). Der Style-Loader fügt CSS in das DOM ein (wenn man es davor platziert, ist das gleichbedeutend damit, das CSS in das DOM einzufügen, und wenn man es dann aufteilt, tritt ein Fehler auf).

3. Komprimieren Sie die geteilten CSS-Dateien

  • optimize-css-assets-webpack-plugin herunterladen
  • Importieren und konfigurieren Sie die Datei webpack.config.js
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. Verpackung

Ich 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:
  • Lösung für das Komprimierungsproblem der CSS-Verpackung von Webpack4
  • Beispiel zum Verpacken und Komprimieren von JS und CSS mit Webpack

<<:  Detailliertes Tutorial zum Ausführen mehrerer Springboot mit Docker

>>:  Tutorial zur HTML-Tabellenauszeichnung (15): Tabellentitel

Artikel empfehlen

Erklärung des Konzepts und der Verwendung von Like in MySQL

Like bedeutet auf Chinesisch „wie“, aber wenn es ...

Vue implementiert eine einfache bidirektionale Datenbindung

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung dieses Zeigeproblems in JavaScript

Vorwort Glauben Sie mir, solange Sie sich an die ...

Detaillierte Erklärung der Mixin-Verwendung in Vue

Inhaltsverzeichnis Vorwort 1. Was sind Mixins? 2....

Anwendung von HTML und CSS in Flash

Anwendung von HTML und CSS in Flash: Ich habe zufä...

MySQL-Installationsinformationen unter Linux-Server anzeigen

Sehen Sie sich die Installationsinformationen von...

Unterscheiden Sie zwischen Nullwert und leerem Zeichen ('') in MySQL

Bei der täglichen Entwicklung geht es im Allgemei...

Analyse der Linux-Bootsystemmethoden

Dieser Artikel beschreibt, wie man das Linux-Syst...

CSS3-Textanimationseffekte

Wirkung html <div Klasse="sp-container&qu...

So zeigen Sie die Netzwerkroutingtabelle in Ubuntu an

Was sind Routing und Routing-Tabellen in Linux? U...

Tutorial zur Installation von lamp-php7.0 in einer Centos7.4-Umgebung

Dieser Artikel beschreibt, wie lamp-php7.0 in ein...

Vite führt die Implementierung virtueller Dateien ein

Inhaltsverzeichnis Hintergrund Virtuelle Dateien ...

So erstellen Sie Ihren eigenen privaten Nexus-Server unter Linux

Dieser Artikel beschreibt, wie man über Docker ei...