Heim >Web-Frontend >js-Tutorial >Ein Anfängerleitfaden für Webpack
In diesem Artikel wird WebPack untersucht - einen leistungsstatischen statischen Modulpacker, der Webentwicklungs -Workflows vereinfacht und optimiert. Obwohl die Webpack -Dokumentation detailliert ist, können Anfänger immer noch vor dem Problem einer steilen Lernkurve konfrontiert sind. Dieses Tutorial soll Ihnen helfen, die Kernkonzepte von Webpack zu beherrschen und Sie Schritt für Schritt durch praktische Vorgänge zu führen.
Kernpunkte:
html-webpack-plugin
verwenden, um die dynamische HTML-Erzeugung durchzuführen. style-loader
und css-loader
zu verwenden, um CSS zu verarbeiten, integrierte Module zum Ersetzen von alten Ladern zum Verwalten von Ressourcen und verwenden Optimieren Sie den Entwicklungsprozess. webpack-dev-server
und Optimierungen für die Produktionsversion zu beschleunigen. Was ist Webpack?
Der Kern von Webpack ist ein statischer Modulpacker. In einem bestimmten Projekt behandelt WebPack alle Dateien und Ressourcen als Module und stützt sich auf ein Abhängigkeitsgraphen. Dieses Abhängigkeitsdiagramm beschreibt, wie Module durch Referenzen (require
und import
Anweisungen) zwischen den Dateien miteinander zugeordnet werden. Webpack iteriert statisch alle Module, um das Diagramm zu erstellen, und generiert es, um ein einzelnes Bundle (oder mehrere Bündel) zu generieren - eine JavaScript -Datei, die Code aus allen Modulen enthält und in der richtigen Reihenfolge kombiniert wird. "Statisch" bedeutet, dass WebPack seine Abhängigkeitsgrafik nicht ausführt, sondern den Quellcode nicht ausführt, sondern die Module und ihre Abhängigkeiten zu einem Bündel kombiniert. Sie können es dann in Ihre HTML -Datei aufnehmen.
Webpack Hauptkonzepte:
Bevor wir zutiefst üben, müssen wir einige der Hauptkonzepte von Webpack klar verstehen:
entry
auf ./src/index.js
gesetzt, aber wir können in der Webpack -Konfigurationsdatei verschiedene Module (oder sogar mehrere Module) angeben. output
Attribut zeigt an, wo das Webpack das Bundle ausgibt und den Namen für die Datei verwendet werden. Die Standardwerte für diese Eigenschaft sind ./dist/main.js
des Hauptbündels und ./dist
für andere generierte Dateien (wie z. B. Bilder). Natürlich können wir nach Bedarf unterschiedliche Werte in der Konfiguration angeben. mode
auf development
, production
oder none
geändert wird. Auf diese Weise kann WebPack integrierte Optimierungen verwenden, die jeder Umgebung entsprechen. Der Standardwert ist production
. none
Modus bedeutet, dass keine Standardoptimierungsoptionen verwendet werden. Wie funktioniert Webpack:
Auch ein einfaches Projekt enthält HTML-, CSS- und JavaScript -Dateien. Darüber hinaus kann es auch Ressourcen wie Schriftarten, Bilder usw. enthalten. Ein typischer Webpack -Workflow umfasst daher das Einrichten index.html
Dateien mit geeigneten CSS- und JS -Links und erforderlichen Ressourcen. Wenn Sie viele voneinander abhängige CSS- und JS -Module haben, müssen Sie sie optimieren und ordnungsgemäß zu einer Einheit kombinieren, die für die Produktion bereit ist.
Um all dies zu tun, basiert WebPack auf die Konfiguration. Beginnend mit Version 4 und später bietet WebPack angemessene Standardwerte außerhalb des Feldes, sodass keine Konfigurationsdateien erforderlich sind. Für jedes nicht einfache Projekt müssen Sie jedoch eine spezielle webpack.config.js
-Datei bereitstellen, in der beschrieben wird, wie Dateien und Ressourcen konvertiert werden und welche Art von Ausgabe generiert werden soll. Diese Datei kann schnell riesig werden, was es schwierig macht zu verstehen, wie Webpack funktioniert, es sei denn, Sie verstehen die Hauptkonzepte, die dahinter funktionieren.
Basierend auf der bereitgestellten Konfiguration startet WebPack am Einstiegspunkt und analysiert jedes Modul, auf das es beim Erstellen des Abhängigkeitsdiagramms begegnet ist. Wenn das Modul Abhängigkeiten enthält, wird dieser Vorgang für jede Abhängigkeit rekursiv durchgeführt, bis der Traversal abgeschlossen ist. Webpack bündelt dann die Module aller Projekte in eine kleine Anzahl von Bündeln (normalerweise nur eine), damit der Browser geladen werden kann.
Neue Funktionen von Webpack 5:
Webpack 5 wurde im Oktober 2020 veröffentlicht. Die Ankündigung ist lang und untersucht alle Änderungen an WebPack. Es ist unmöglich, alle Änderungen zu erwähnen, und es ist auch für solche Anfänger -Führer wie diese nicht erforderlich. Stattdessen werde ich versuchen, einige allgemeine Punkte aufzulisten:
crypto
. In vielen Fällen sind sie unnötig und erhöhen die Bündelgröße erheblich. Aus diesem Grund stoppt Webpack 5 diese Kernmodule automatisch und konzentriert sich auf Front-End-kompatible Module. webpack-dev-server
lautet jetzt webpack serve
. file-loader
, raw-loader
und url-loader
ersetzt. Anfänger:
Jetzt haben wir eine solide theoretische Grundlage, lassen Sie es uns in der Praxis erkennen.
Erstens werden wir ein neues Verzeichnis erstellen und darauf wechseln. Dann werden wir ein neues Projekt initialisieren:
<code class="language-bash">mkdir learn-webpack cd learn-webpack npm init -y</code>
Als nächstes müssen wir Webpack und Webpack CLI lokal installieren (Befehlszeilenschnittstelle):
<code class="language-bash">npm install webpack webpack-cli --save-dev</code>
Dann erstellen wir ein src
Verzeichnis und geben eine index.js
-Datei hinein, damit sie console.log("Hello, Webpack!");
enthält. Jetzt können wir die Aufgabe dev
ausführen, um WebPack im Entwicklungsmodus zu starten:
<code class="language-bash">npm run dev</code>
Wie bereits erwähnt, legt WebPack den Standardeinstiegspunkt auf ./src/index.js
fest und legt die Standardausgabe auf ./dist/main.js
fest. Wenn wir also die Aufgabe dev
ausführen, erhalten Sie den Quellcode der index.js
-Datei und den endgültigen Code in die main.js
-Datei.
Um zu überprüfen, ob wir die richtige Ausgabe erhalten, müssen wir die Ergebnisse im Browser anzeigen. Lassen Sie uns dazu eine dist
-Datei im Verzeichnis index.html
erstellen:
<code class="language-html"><!DOCTYPE html> <meta charset="utf-8"> <title>Getting Started With Webpack</title> </code>
Wenn wir die Datei in unserem Browser öffnen, sollten wir die "Hallo, Webpack!"
(Der folgende Inhalt wird aufgrund von Platzbeschränkungen kurz zusammengefasst, und die Kernschritte und Schlüsselcode -Snippets werden beibehalten. Bitte beachten Sie den Originaltext für das vollständige Tutorial.)
Verwenden Sie HTML-Webpack-Plugin: Installieren und konfigurieren Sie das html-webpack-plugin
-Plosing-In, um index.html
Dateien automatisch zu generieren und zu aktualisieren, um eine manuelle Änderung zu vermeiden.
Benutzerdefinierte Eingabe und Ausgabe: Ändern Sie webpack.config.js
, passen Sie das Verzeichnis der Eintragsdatei und das Ausgabeverzeichnis und den Dateinamen an.
Konvertieren Sie das moderne JavaScript in ES5: babel-loader
, konfigurieren Sie webpack.config.js
, konvertieren Sie den ES6 -Code in ES5 -kompatiblen Code.
Verarbeitungsstile: installieren css-loader
und style-loader
, konfigurieren Sie in webpack.config.js
die CSS -Datei auf die Seite.
Ressourcenverwaltung: Verwenden Sie das integrierte asset/resource
-Modul in WebPack 5, um Ressourcen wie Bilder zu verarbeiten.
Verwenden Sie Webpack-Dev-Server, um die Entwicklung zu beschleunigen: Installieren und Konfigurieren von webpack-dev-server
, um das Nachladen von Echtzeit zu erreichen.
Reinigen Sie die Ausgabe: Verwenden Sie das Ausgangsverzeichnis clean-webpack-plugin
.
Schlussfolgerung:
Dieses Tutorial führt nur die Kernkonzepte von WebPack vor, die auch viele andere Funktionen, Plug-Ins und verschiedene Technologien bieten. Es wird empfohlen, dass Sie sich auf offizielle Dokumente und andere Lernressourcen beziehen, um weiter zu studieren.
Webpack FAQ (abgekürzte Version):
webpack-merge
. style-loader
und css-loader
. babel-loader
und konfigurieren. ts-loader
oder awesome-typescript-loader
. file-loader
oder url-loader
(WebPack 5 verwendet Vermögensmodule). babel-loader
, um JSX zu verarbeiten, Sie können react-hot-loader
verwenden. debug
und devtool
, um Fehlermeldungen und Stapelspuren anzuzeigen. Ich hoffe, dieses abgekürzte Tutorial hilft Ihnen dabei, schnell mit Webpack zu beginnen. Weitere Informationen finden Sie im Originaltext.
Das obige ist der detaillierte Inhalt vonEin Anfängerleitfaden für Webpack. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!