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

Detailliertes Tutorial zur Installation und Bereitstellung von Nginx Linux

1. Einführung in Nginx Nginx ist ein Webserver, d...

Detaillierte Erklärung des Linx awk-Einführungstutorials

Awk ist eine Anwendung zur Verarbeitung von Textd...

Verwenden Sie CSS, um zwischen dem Dunkelmodus und dem Hellmodus zu wechseln

In der fünften Ausgabe von Web Skills wird ausdrü...

javascript:void(0) Bedeutung und Anwendungsbeispiele

Einführung in das Schlüsselwort void Zunächst ein...

Detaillierter Installationsprozess von Jenkins unter Linux

Inhaltsverzeichnis 1. Installieren Sie JDK 2. Jen...

Tutorial zur Master-Slave-Konfiguration der MySQL-Datenbank unter Windows

Der detaillierte Prozess zum Konfigurieren des My...

So erstellen Sie mit Dockerfile ein Spiegelbild der Java-Laufzeitumgebung

Die aktuelle Umgebung ist: Centos 7.5 docker-ce 1...

So verwenden Sie die Debouce-Anti-Shake-Funktion in Vue

Inhaltsverzeichnis 1. Anti-Shake-Funktion 2. Verw...

Einfache Schritte zum Schreiben benutzerdefinierter Anweisungen in Vue3.0

Vorwort Vue bietet eine Fülle integrierter Anweis...

Allgemeiner Leitfaden zur Sicherheitskonfiguration von Linux/CentOS-Servern

Linux ist ein offenes System. Im Internet sind vi...