Heim Web-Frontend js-Tutorial Teilen der Webpack-Verarbeitung von Stilen

Teilen der Webpack-Verarbeitung von Stilen

Jan 08, 2018 am 09:41 AM
web webpack 分享

Dieser Artikel stellt hauptsächlich die Verarbeitung von Stilen per Webpack vor. Der Herausgeber findet ihn ziemlich gut. Jetzt werde ich ihn mit Ihnen teilen und Ihnen eine Referenz geben. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

Wir können Stildateien in js einführen


require('myStyle.css')
Nach dem Login kopieren

Zu diesem Zeitpunkt müssen wir den entsprechenden Webpack-Loader einführen, der uns beim Parsen dieses Codes hilft.

CSS-Loader mit Style-Loader

Zunächst können wir CSS-Loader und Style-Loader für die Analyse von CSS vorstellen. Darunter auch CSS -loader wird zum Parsen von CSS-Dateien verwendet, Style-Loader wird zum Einbetten von CSS-Dateien in JS-Dateien verwendet


var path = require('path')
module.exports = {
 context: path.join(__dirname, 'src')
 entry: './',
 module: {
 rules: [
  {
  test: /\.css$/,
  include: [
   path.join(__dirname, 'src')
  ],
  use: ['style-loader', 'css-loader']
  }
 ]
 },
 output: {
  path: path.join(__dirname, 'dist'),
  filename: '[name].bundle.[hash].js'
 }
}
Nach dem Login kopieren

Im obigen Code ist die Parsingreihenfolge von rechts nach links Zum Parsen verwenden Sie zunächst den CSS-Loader, um die CSS-Datei zu analysieren, und verwenden Sie dann den Style-Loader, um sie in den JS-Code einzubetten.

Wenn Sie weniger zum Schreiben von Stilen verwenden, müssen Sie den Less-Loader verwenden, um die Stildateien in CSS-Dateien zu kompilieren, und dann weiterhin CSS-Loader und Style-Loader verwenden. Darüber hinaus kann der Loader-Loader den folgenden -Loader weglassen. Daher kann der obige Code als


module: {
 rules: [
 {
  test: /\.css$/,
  include: [
  path.join(__dirname, 'src')
  ],
  use: ['style', 'css', 'less']
 }
 ]
}
Nach dem Login kopieren

abgekürzt werden. Im Allgemeinen wird diese Methode in der Testumgebung häufiger verwendet, um CSS schneller zu kompilieren, sie wird jedoch kompiliert so Die js-Datei ist relativ groß und nicht für die Verwendung in einer Produktionsumgebung geeignet.

In separate Dateien kompilieren

Der obige Ansatz verpackt CSS und JS zusammen, wodurch die Anzahl der tatsächlichen Anforderungen verringert wird. Da die kompilierte JS-Datei jedoch relativ groß ist, ist dies eine Verschwendung Bandbreite. Daher verwenden wir das Plug-In extract-text-webpack-plugin, um CSS-Dateien in unabhängige Dateien zu kompilieren. Wir können CDN verwenden, um diese Datei an den Knotenserver zu übertragen oder sie je nach Bedarf bei Bedarf zu laden, wodurch der Link zur Kundenanfrage optimiert und die Seitenantwort beschleunigt wird.


var path = require('path'),
 ExtractTextPlugin = require('extract-text-webpack-plugin')
module.exports = {
 context: path.join(__dirname, 'src'),
 entry: './',
 module: {
 rules: [{
  test: /\.css$/,
  include: [
  path.join(__dirname, 'src')
  ],
  use: ExtractTextPlugin.extract({
  fallback: 'style',
  use: 'css'
  })
 }]
 },
 output: {
  path: path.join(__dirname, 'dist'),
  filename: '[name].bundle.[hash].js'
 },
 plugins: [
 new ExtractTextPlugin('[name].css')
 ]
}
Nach dem Login kopieren

Durch den obigen Code verwenden wir das Extract-Text-Webpack-Plugin-Plug-In, um alle CSS-Dateien im src-Verzeichnis zu verarbeiten, und verwenden zuerst das CSS-Loader-Plug-In, um den CSS-Code zu analysieren. Wenn das Parsen fehlschlägt, verwenden Sie das Style-Loader-Plug-In zum Parsen und generieren Sie schließlich die entsprechende JS-Datei im dist-Verzeichnis

Kompatibel mit alte Browser

Früher haben wir Stile geschrieben. Manchmal erfordern einige Stile unterschiedliche Präfixe für verschiedene Browser, wie zum Beispiel -webkit-. Da wir nun über das Build-Tool verfügen, müssen wir nicht mehr auf diese Präfixe achten. Das Build-Tool fügt diese Präfixe automatisch für uns hinzu.

Für Webpack denken wir natürlich, dass wir einen Loader oder ein Plugin verwenden müssen, um diese Dinge zu tun. Nach der Überprüfung haben wir festgestellt, dass der Autoprefixer-Loader nicht mehr verwendet wird posscss

postcss wird verwendet für Das JS-Plug-In, das CSS-Stile in JS konvertiert, muss mit anderen Plug-Ins verwendet werden. Dies ist nur ein Konverter selbst und stellt keinen Code bereit Parsing-Funktion.

Hier benötigen wir das Autoprefixer-Plugin, um Präfixe zu unseren Stilen hinzuzufügen. Laden Sie zunächst das Modul herunter.


npm install -D autoprefixer
Nach dem Login kopieren

Dann können Sie Webpack konfigurieren


var autoprefixer = require('autoprefixer')
module.exports = {
 ...
 module: {
 loaders: [
  ...
  {
  {
   test: /\.css$/,
   loader: ExtractTextPlugin.extract(["css", "postcss"])
  },
  }
 ]
 },
 postcss: [autoprefixer()],
 ...
}
Nach dem Login kopieren

Überprüfen Sie die extrahierte Style-Datei. Das finden Sie Das Präfix


a {
 display: flex;
}
/*compiles to:*/
a {
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex
}
Nach dem Login kopieren

wurde hinzugefügt. Darüber hinaus kann Autoprefixer je nach Zielbrowserversion auch unterschiedliche Präfixnummern generieren Ihre Anwendung ist groß. Die meisten von ihnen verwenden relativ neue Browserversionen, sodass Sie Folgendes konfigurieren können.

postcss: [autoprefixer({ browsers: ['last 2 version'] })] Der generierte Stil wird etwas anders sein, oder das obige Beispiel


a {
 display: flex;
}
/*compiles to:*/
a {
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
}
Nach dem Login kopieren

Stilkomprimierung

Um den Code zu komprimieren, können wir das integrierte Plug-in UglifyJsPlugin des Webpacks verwenden, das sowohl JS-Code als auch CSS-Code komprimieren kann.


plugins: [
 ...
 new webpack.optimize.UglifyJsPlugin({
 compress: {
  warnings: false
 }
 }),
 ...
]
Nach dem Login kopieren

Tatsächlich kann man nicht sagen, dass es sich um eine Komprimierung des CSS-Codes handelt. Im Wesentlichen handelt es sich um eine Komprimierung des JS-Codes und die anschließende Ausgabe dieses Codes an das CSS Datei.

Verwenden Sie CommonsChunkPlugin, um allgemeinen Code zu extrahieren

Zunächst muss klar sein, dass CommonsChunkPlugin verwendet wird, wenn mehrere Einträge vorhanden sind, dh wenn mehrere Einträge vorhanden sind Dateien, diese Eintragsdateien Möglicherweise gibt es einige gemeinsame Codes, und wir können diese gemeinsamen Codes in unabhängige Dateien extrahieren. Es ist sehr wichtig, dies zu verstehen. (Es hat leider lange gedauert, bis ich etwas verstanden habe~~~~)

Wenn dieselbe CSS-Datei in mehreren Einträgen erforderlich ist, können wir CommonsChunkPlugin verwenden, um diese gemeinsamen Stildateien in unabhängige Stildateien zu extrahieren.


module.exports = {
 entry: {
 "A": "./src/entry.js",
 "B": "./src/entry2.js"
 },
 ...
 plugins: [
 new webpack.optimize.CommonsChunkPlugin({
 name: "commons", filename: "commons.js"
 }),
 ...
 ]
}
Nach dem Login kopieren

Natürlich wird hier nicht nur allgemeines CSS extrahiert, sondern wenn es allgemeinen JS-Code gibt, wird dieser auch in commons.js extrahiert. Hier gibt es ein interessantes Phänomen. Der Name der extrahierten CSS-Datei ist der Wert von name im Parameter, und der Name der js-Datei ist der Wert von filename.

CommonsChunkPlugin scheint nur Module zu extrahieren, die allen Chunks gemeinsam sind. Wenn die folgenden Abhängigkeiten bestehen


// entry1.js
var style1 = require('./style/myStyle.css')
var style2 = require('./style/style.css')

// entry2.js
require("./style/myStyle.css")
require("./style/myStyle2.css")

// entry3.js
require("./style/myStyle2.css")
Nach dem Login kopieren

, werden Sie nach der Verwendung des Plugs feststellen -in, Die Datei commons.css wird überhaupt nicht generiert.

Wenn wir nur den gemeinsamen Code der ersten beiden Blöcke verwenden müssen, können wir dies tun


module.exports = {
 entry: {
 "A": "./src/entry.js",
 "B": "./src/entry2.js",
 "C": "./src/entry3.js"
 },
 ...
 plugins: [
 new webpack.optimize.CommonsChunkPlugin({
 name: "commons", filename: "commons.js", chunks: ['A', 'B']
 }),
 ...
 ]
}
Nach dem Login kopieren

Verwandte Empfehlungen:

So verwenden Sie externe Elemente von Webpack

So verwenden Sie Webpack zur Optimierung von Ressourcenmethoden und -techniken

Optimierung der Webpack-Leistung

Das obige ist der detaillierte Inhalt vonTeilen der Webpack-Verarbeitung von Stilen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie teile ich Quark Netdisk mit Baidu Netdisk? Wie teile ich Quark Netdisk mit Baidu Netdisk? Mar 14, 2024 pm 04:40 PM

Quark Netdisk und Baidu Netdisk sind beide sehr praktische Speichertools. Viele Benutzer fragen sich, ob diese beiden Softwareprogramme kompatibel sind. Wie teile ich Quark Netdisk mit Baidu Netdisk? Auf dieser Website erfahren Sie ausführlich, wie Sie Quark Network Disk-Dateien auf der Baidu Network Disk speichern. So speichern Sie Dateien von Quark Network Disk auf Baidu Network Disk Methode 1. Wenn Sie wissen möchten, wie Sie Dateien von Quark Network Disk auf Baidu Network Disk übertragen, laden Sie zunächst die Dateien herunter, die auf Quark Network Disk gespeichert werden müssen, und öffnen Sie sie dann Wählen Sie im Baidu Network Disk-Client den Ordner aus, in dem die komprimierte Datei gespeichert werden soll, und doppelklicken Sie, um den Ordner zu öffnen. 2. Klicken Sie nach dem Öffnen des Ordners oben links im Fenster auf „Hochladen“. 3. Suchen Sie die komprimierte Datei, die auf Ihren Computer hochgeladen werden soll, und klicken Sie, um sie auszuwählen.

So teilen Sie NetEase Cloud Music mit WeChat Moments_Tutorial zum Teilen von NetEase Cloud Music mit WeChat Moments So teilen Sie NetEase Cloud Music mit WeChat Moments_Tutorial zum Teilen von NetEase Cloud Music mit WeChat Moments Mar 25, 2024 am 11:41 AM

1. Zuerst rufen wir NetEase Cloud Music auf und klicken dann auf die Software-Homepage-Oberfläche, um die Song-Wiedergabeoberfläche aufzurufen. 2. Suchen Sie dann in der Song-Wiedergabeoberfläche die Schaltfläche für die Freigabefunktion oben rechts, wie im roten Feld in der Abbildung unten gezeigt, klicken Sie, um den Freigabekanal im Freigabekanal auszuwählen, und klicken Sie auf die Option „Teilen für“. Wählen Sie unten den ersten Eintrag „WeChat Moments“ aus, mit dem Sie Inhalte für WeChat Moments freigeben können.

So teilen Sie Dateien mit Freunden auf Baidu Netdisk So teilen Sie Dateien mit Freunden auf Baidu Netdisk Mar 25, 2024 pm 06:52 PM

Vor kurzem hat der Baidu Netdisk Android-Client eine neue Version 8.0.0 eingeführt. Diese Version bringt nicht nur viele Änderungen, sondern fügt auch viele praktische Funktionen hinzu. Am auffälligsten ist unter anderem die Verbesserung der Ordnerfreigabefunktion. Jetzt können Benutzer ganz einfach Freunde einladen, beizutreten und wichtige Dateien im Beruf und im Privatleben zu teilen, was eine bequemere Zusammenarbeit und gemeinsame Nutzung ermöglicht. Wie teilen Sie die Dateien, die Sie benötigen, mit Ihren Freunden? Ich hoffe, dass Ihnen der Herausgeber dieser Website weiterhelfen kann. 1) Öffnen Sie die Baidu Cloud APP, wählen Sie zuerst den entsprechenden Ordner auf der Startseite aus und klicken Sie dann auf das Symbol [...] in der oberen rechten Ecke der Benutzeroberfläche (wie unten gezeigt). 2) Klicken Sie dann auf [+]. Klicken Sie auf die Spalte „Gemeinsame Mitglieder“ 】 und markieren Sie abschließend alle

Teilen des Mango TV-Mitgliedskontos 2023 Teilen des Mango TV-Mitgliedskontos 2023 Feb 07, 2024 pm 02:27 PM

Mango TV bietet verschiedene Arten von Filmen, Fernsehserien, Varietés und anderen Ressourcen, und Benutzer können frei wählen, ob sie diese ansehen möchten. Mango TV-Mitglieder können nicht nur alle VIP-Dramen ansehen, sondern auch die höchste Bildqualität einstellen, damit Benutzer die Dramen gerne ansehen können. Nachfolgend stellt Ihnen der Herausgeber einige kostenlose Mango TV-Mitgliedskonten vor, die Sie nutzen können. Beeilen Sie sich und werfen Sie einen Blick darauf Schau mal. Kostenloses Teilen des neuesten Mitgliedskontos von Mango TV 2023: Hinweis: Dies sind die neuesten gesammelten Mitgliedskonten. Sie können sich anmelden und diese direkt verwenden. Ändern Sie das Passwort nicht nach Belieben. Kontonummer: 13842025699 Passwort: qds373 Kontonummer: 15804882888 Passwort: evr6982 Kontonummer: 13330925667 Passwort: jgqae Kontonummer: 1703

Lösen Sie das Problem, dass die Discuz WeChat-Freigabe nicht angezeigt werden kann Lösen Sie das Problem, dass die Discuz WeChat-Freigabe nicht angezeigt werden kann Mar 09, 2024 pm 03:39 PM

Titel: Um das Problem zu lösen, dass Discuz WeChat-Freigaben nicht angezeigt werden können, sind spezifische Codebeispiele erforderlich. Mit der Entwicklung des mobilen Internets ist WeChat zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. Bei der Website-Entwicklung werden viele Websites WeChat-Freigabefunktionen integrieren, um das Benutzererlebnis zu verbessern und die Website-Präsenz zu erweitern, sodass Benutzer Website-Inhalte problemlos mit Moments oder WeChat-Gruppen teilen können. Allerdings kann es bei der Verwendung von Open-Source-Forumsystemen wie Discuz manchmal zu dem Problem kommen, dass WeChat-Freigaben nicht angezeigt werden können, was zu gewissen Schwierigkeiten bei der Benutzererfahrung führt.

Was sind Webstandards? Was sind Webstandards? Oct 18, 2023 pm 05:24 PM

Webstandards sind eine Reihe von Spezifikationen und Richtlinien, die vom W3C und anderen verwandten Organisationen entwickelt wurden. Sie umfassen die Standardisierung von HTML, CSS, JavaScript, DOM, Web-Zugänglichkeit und Leistungsoptimierung , Wartbarkeit und Leistung. Das Ziel von Webstandards besteht darin, die konsistente Anzeige und Interaktion von Webinhalten auf verschiedenen Plattformen, Browsern und Geräten zu ermöglichen und so ein besseres Benutzererlebnis und eine bessere Entwicklungseffizienz zu gewährleisten.

So aktivieren Sie den administrativen Zugriff über die Cockpit-Web-Benutzeroberfläche So aktivieren Sie den administrativen Zugriff über die Cockpit-Web-Benutzeroberfläche Mar 20, 2024 pm 06:56 PM

Cockpit ist eine webbasierte grafische Oberfläche für Linux-Server. Es soll vor allem neuen/erfahrenen Benutzern die Verwaltung von Linux-Servern erleichtern. In diesem Artikel besprechen wir die Cockpit-Zugriffsmodi und wie Sie den Administratorzugriff von CockpitWebUI auf das Cockpit umstellen. Inhaltsthemen: Cockpit-Eingabemodi Ermitteln des aktuellen Cockpit-Zugriffsmodus Aktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Deaktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Fazit Cockpit-Eingabemodi Das Cockpit verfügt über zwei Zugriffsmodi: Eingeschränkter Zugriff: Dies ist die Standardeinstellung für den Cockpit-Zugriffsmodus. In diesem Zugriffsmodus können Sie vom Cockpit aus nicht auf den Webbenutzer zugreifen

Teilen Sie zwei Installationsmethoden für HP-Druckertreiber Teilen Sie zwei Installationsmethoden für HP-Druckertreiber Mar 13, 2024 pm 05:16 PM

HP-Drucker sind in vielen Büros unverzichtbare Druckgeräte. Durch die Installation des Druckertreibers auf dem Computer können Probleme, wie zum Beispiel, dass der Drucker keine Verbindung herstellen kann, perfekt gelöst werden. Wie installiert man den HP-Druckertreiber? Der folgende Editor stellt Ihnen zwei Methoden zur Installation von HP-Druckertreibern vor. Die erste Methode: Laden Sie den Treiber von der offiziellen Website herunter. 1. Durchsuchen Sie die offizielle Website von HP China in der Suchmaschine und wählen Sie in der Support-Spalte [Software und Treiber] aus. 2. Wählen Sie die Kategorie [Drucker] aus, geben Sie Ihr Druckermodell in das Suchfeld ein und klicken Sie auf [Senden], um Ihren Druckertreiber zu finden. 3. Wählen Sie den entsprechenden Drucker entsprechend Ihrem Computersystem aus. Wählen Sie für Win10 den Treiber für das Win10-System. 4. Nach erfolgreichem Download finden Sie es im Ordner

See all articles