Heim Web-Frontend HTML-Tutorial Was ist neu in webpack4? Worauf sollte ich achten?

Was ist neu in webpack4? Worauf sollte ich achten?

Oct 18, 2018 pm 03:13 PM
webpack

In diesem Artikel erfahren Sie, was in webpack4 neu ist. Worauf sollte ich achten? Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Während Entwickler noch den Nachklang von webpack3.x erleben, ist webpack4.x still und leise angekommen.

Für Benutzer sind die am meisten erwarteten Fragen wie folgt:

  • Welche Änderungen gibt es in der neuen Version im Vergleich zur alten Version?

  • Migration von webpack3.x auf webapck4.x?

  • Worauf sollten wir bei der Verwendung von webpack4.x achten?

Neue Funktionen von Webpack

Die Stärke von Webpack als Build-Tool liegt in:

  • Viele einzigartige Funktionen können in webpack.config.js konfiguriert werden;

  • Seine Konfiguration ist flexibel und veränderbar

Aber aus diesem Grund; Das ist auch das Schlimme daran. Da es zu zufällig ist, ist es schwer zu kontrollieren, was zu folgenden Problemen führt:

  • Die Kosten für das Erlernen, Verwenden und Recherchieren von Webpacks sind zu hoch (die Fortschrittskurve ist zu steil). ;

  • Das Erstellen einer kleinen Anwendung erfordert auch die Konfiguration von webpack.config.js wie das Erstellen einer großen Anwendung (der Spatz ist klein, verfügt aber über alle internen Organe); 🎜>

    Und webpack4.x ist eine neue Version der ersten Generation von Webpack, die die bestehenden Probleme weitgehend gelöst hat.
webpackk4.x muss nicht die Konfigurationsdatei webpack.config.js verwenden

Sie können die folgenden 6 Schritte verwenden, um die Erstellung des Projekts abzuschließen:

Erstellen Sie ein Projektverzeichnis (webpack-demo) und geben Sie dann das geänderte Verzeichnis ein
  1. mkdir webpack-demo && cd webpack-demo

    Initialisieren Sie das Paket .json-Datei
  2. npm init -y

    Webpack- und Webpack-CLI-Abhängigkeiten laden
  3. npm install webpack webpack-cli --save-dev

    Fügen Sie die Datei ~/src/index.js zum Projekt hinzu (index.js ist die Standardeintragsdatei und das Standardeintragsverzeichnis ist ~/src. Natürlich können Sie auch Passen Sie die Eintragsdatei an. Sie müssen die Hauptkonfiguration in package.json ändern. Das Element ist die angegebene Datei.
  4. index.js-Dateicode lautet wie folgt:
  5. console.log('hello webpack.')
    Nach dem Login kopieren
Öffnen Sie package.json und fügen Sie den folgenden Code im Skriptkonfigurationselement hinzu:

"scripts": {
    "build": "webpack"
}
Nach dem Login kopieren
Hinweis: Dies ist der NPM-Skriptbefehl

Führen Sie den Befehl npm run build aus, und dann wird ein angezeigt ~/dist/main.js-Datei im Projekt. Im Befehlsfenster sollten Sie die folgende Warnmeldung sehen:

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/concepts/mode/
Nach dem Login kopieren
Ignorieren Sie diese Meldung. Wir haben festgestellt, dass sich die Projektinitialisierungskonfiguration von webpack4.x nicht wesentlich von webpack3.x unterscheidet, bei webpack4.x jedoch schon Die erforderliche Konfigurationsdatei webpack.config.js fehlt.

Änderungen im Verpackungsmodus

Lassen Sie uns auf die obige Eingabeaufforderung zurückblicken. Sie bedeutet: „Wenn das Konfigurationselement des Verpackungsmodus nicht festgelegt ist, ist der Standardverpackungsmodus der Produktionsmodus (Produktion) und der Entwicklungsmodus.“ (Entwicklung), Sie müssen das Moduskonfigurationselement konfigurieren. Ich denke, dass Ihre Leser das verstehen sollten webpack4 Sparen Sie Zeit und Mühe.

Aber in tatsächlichen Anwendungen unterscheiden wir oft zwischen Entwicklungsmodus und Produktionsmodus, aber in webpack4.x ist das nicht schwierig. Ändern Sie einfach die Skripte in package.json wie folgt:

"scripts": {
    "dev": "webpack --mode development", // 用于开发模式
    "build": "webpack --mode production" // 用于生产模式
}
Nach dem Login kopieren
' Ja! So einfach ist „webpack4.x“. Wir müssen nicht wie webpack3.x zwei Konfigurationsdateien für den Entwicklungsmodus und den Produktionsmodus definieren.

Überladen Sie den Eingang/Ausgang des Standardkonfigurationselements

Es gibt keine Konfigurationsdatei webpack.config.js, was nicht nur unseren Konfigurationsaufwand reduziert, sondern auch einige Fragen an uns wirft, die gerade erst einen Blick darauf werfen. Zum Beispiel: Wie kann ich den Ein-/Ausgang anpassen?

Wenn webpack.config.js nicht vorhanden ist, können wir Ein-/Aus-Konfigurationselemente in der Befehlszeile hinzufügen. Der Code lautet wie folgt:

"scripts": {
    "dev": "webpack --mode development ./src/entry.js --output ./dist/bundle.js", // 用于开发模式
    "build": "webpack --mode production ./src/entry.js --output ./dist/bundle.min.js" // 用于生产模式
}
Nach dem Login kopieren
Dies geschieht nur ohne Verwendung von webpack.config .js Ein Plan.

Das Obige sind die allgemeinen Änderungen, die webpack4.x für uns mit sich gebracht hat.

Aber die Funktionsimplementierung in den Modul- und Plugin-Konfigurationselementen in der ursprünglichen Konfigurationsdatei webpack.config.js erfordert weiterhin die Verwendung von webpack.config.js. Obwohl das Webpack-Team plant, einige häufig verwendete Loader und Plugins zu konfigurieren, wird nur das integrierte Plug-In UglifyJSPlugin implementiert, das *.js-Code komprimieren kann, ohne ihn in den Produktionsmodus einzuführen. Andere Loader und Plugins können nur über webpack.config.js eingeführt werden.

Webpack-Migration und Vorsichtsmaßnahmen

Angesichts dieser Änderungen in webpack4.x werden sich viele Menschen nicht nur fragen, ob die Migration von webpack3.x zu webpack4.x einfach ist Eigentlich kein Problem, webpack4.x ist abwärtskompatibel mit webpack.3x.

Um webpack.config.js nicht früher einzuführen, haben wir npm-Skripte verwendet. Zu diesem Zeitpunkt können wir es wie das Neuladen von Eingang/Ausgang auch in der Konfigurationsdatei webpack.config.js vervollständigen. Die Konfiguration ist die gleiche wie beim Original, aber webpack4.x weist die folgenden Probleme auf, die beachtet werden müssen:

  1. 升级到webpack4.x,你会发现在使用 extract-text-webpack-plugin 分离 *.css 出文件时经常出错,这是 extract-text-webpack-plugin 本身的问题,官方推荐使用 mini-css-extract-plugin 来避免问题的出现,但使用 mini-css-extract-plugin 有一个限制就是webapck须是4.2.0版本以上(较低的版本不支持)。

  2. 使用 使用babel-loader 转化ES6->ES5时将不需要 .babelrc 配置文件,你只需要在 package.json 的 scripts 中添加 --module-bind js=babel-loader 即可完成对 babel-loader 的配置。

其他的loader和plugin没有什么大的变化。其实讲到这里基本完了,下面是用webpack4.x构建的一个demo。

webpack4.x的demo

紧接上面的配置:

首先,添加 html-wepback-plugin 和 html-loader 依赖:

npm install html-webpack-plugin html-loader --save-dev
Nach dem Login kopieren

html-webpack-plugin生成html文件(html文件用来加载打包生成 bundle.js 文件),当然你也可以使用webpack支持的各种模板loader,这里使用 html-loader 支持的 *.html 类型模板来生成。

其次,添加 mini-css-extract-plugincss-loader 依赖:

npm install mini-css-extract-plugin css-loader --save-dev
Nach dem Login kopieren

loader和plugin配置与webpack3.x类同,也可参考下面提供代码中的 webpack.config.js 文件。

然后,添加 babel-loader 、@babel/babel-core 和 @babel/babel-preset 依赖:

npm install @babel/core babel-loader @babel/preset-env --save-dev
Nach dem Login kopieren

loader和plugin配置与webpack3.x类同,也可参考下面提供源码中的 webpack.config.js 文件。

修改 package.json 中 scripts 如下:

"scripts": {
    "dev": "webpack --mode development --module-bind js=babel-loader  ./src/entry.js --output ./dist/bundle.js",
    "build": "webpack --mode production ./src/entry.js --module-bind js=babel-loader --output ./dist/bundle.min.js"
},
Nach dem Login kopieren

最后,添加 webpack-dev-server 依赖,实现项目文件修改,浏览器及时刷新

npm install webpack-dev-server
Nach dem Login kopieren

在 package.json 中 scripts 的 dev 替换 webpack 为 webpack-dev-server 即可,代码如下:

"scripts": {
    "dev": "webpack-dev-server --mode development --module-bind js=babel-loader ./src/entry.js --output ./dist/bundle.js",
    "build": "webpack --mode production ./src/entry.js --module-bind js=babel-loader --output ./dist/bundle.min.js"
},
Nach dem Login kopieren

这样一个简单的demo就完成了。

其他的loader和plugin配置和webpack3.x类同。

Das obige ist der detaillierte Inhalt vonWas ist neu in webpack4? Worauf sollte ich achten?. 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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

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)

VUE3-Erste-Schritte-Tutorial: Paketieren und Erstellen mit Webpack VUE3-Erste-Schritte-Tutorial: Paketieren und Erstellen mit Webpack Jun 15, 2023 pm 06:17 PM

Vue ist ein hervorragendes JavaScript-Framework, das uns dabei helfen kann, schnell interaktive und effiziente Webanwendungen zu erstellen. Vue3 ist die neueste Version von Vue, die viele neue Features und Funktionen einführt. Webpack ist derzeit einer der beliebtesten JavaScript-Modulpaketierer und Build-Tools, der uns bei der Verwaltung verschiedener Ressourcen in unseren Projekten helfen kann. In diesem Artikel wird erläutert, wie Sie Webpack zum Verpacken und Erstellen von Vue3-Anwendungen verwenden. 1. Webpack installieren

Was ist der Unterschied zwischen Vite und Webpack? Was ist der Unterschied zwischen Vite und Webpack? Jan 11, 2023 pm 02:55 PM

Unterschiede: 1. Die Startgeschwindigkeit des Webpack-Servers ist langsamer als die von Vite. Da Vite beim Start nicht gepackt werden muss, müssen keine Modulabhängigkeiten analysiert und kompiliert werden, sodass die Startgeschwindigkeit sehr hoch ist. 2. Das Hot-Update von Vite ist in Bezug auf HRM schneller. Wenn sich der Inhalt eines bestimmten Moduls ändert, muss der Browser das Modul einfach erneut anfordern. 3. Vite verwendet esbuild, um Abhängigkeiten vorab zu erstellen, während Webpack auf Knoten basiert. 4. Die Ökologie von Vite ist nicht so gut wie die von Webpack und die Loader und Plug-Ins sind nicht umfangreich genug.

Verwendung von PHP und Webpack für die modulare Entwicklung Verwendung von PHP und Webpack für die modulare Entwicklung May 11, 2023 pm 03:52 PM

Mit der kontinuierlichen Weiterentwicklung der Webentwicklungstechnologie sind die Front-End- und Back-End-Trennung sowie die modulare Entwicklung zu einem weit verbreiteten Trend geworden. PHP ist eine häufig verwendete Back-End-Sprache. Bei der modularen Entwicklung müssen wir einige Tools verwenden, um Module zu verwalten und zu packen. In diesem Artikel wird die Verwendung von PHP und Webpack für die modulare Entwicklung vorgestellt. 1. Was ist modulare Entwicklung? Unter modularer Entwicklung versteht man die Zerlegung eines Programms in verschiedene unabhängige Module.

Wie konvertiert Webpack das ES6-Modul in das ES5-Modul? Wie konvertiert Webpack das ES6-Modul in das ES5-Modul? Oct 18, 2022 pm 03:48 PM

Konfigurationsmethode: 1. Verwenden Sie die Importmethode, um den ES6-Code in die gepackte JS-Codedatei einzufügen. 2. Verwenden Sie das NPM-Tool, um das Babel-Loader-Tool zu installieren. Die Syntax lautet „npm install -D babel-loader @babel/core“. @babel/preset-env“; 3. Erstellen Sie die Konfigurationsdatei „.babelrc“ des Babel-Tools und legen Sie die Transkodierungsregeln fest; 4. Konfigurieren Sie die Verpackungsregeln in der Datei webpack.config.js.

Verwenden Sie Spring Boot und Webpack, um Front-End-Projekte und Plug-in-Systeme zu erstellen Verwenden Sie Spring Boot und Webpack, um Front-End-Projekte und Plug-in-Systeme zu erstellen Jun 22, 2023 am 09:13 AM

Da die Komplexität moderner Webanwendungen immer weiter zunimmt, wird die Entwicklung exzellenter Front-End-Engineering- und Plug-in-Systeme immer wichtiger. Mit der Popularität von Spring Boot und Webpack sind sie zu einer perfekten Kombination für die Erstellung von Front-End-Projekten und Plug-in-Systemen geworden. SpringBoot ist ein Java-Framework, das Java-Anwendungen mit minimalen Konfigurationsanforderungen erstellt. Es bietet viele nützliche Funktionen, wie z. B. die automatische Konfiguration, sodass Entwickler Webanwendungen schneller und einfacher erstellen und bereitstellen können. W

Was ist Webpack? Detaillierte Erklärung der Funktionsweise? Was ist Webpack? Detaillierte Erklärung der Funktionsweise? Oct 13, 2022 pm 07:36 PM

Webpack ist ein Modulpaketierungstool. Es erstellt Module für verschiedene Abhängigkeiten und packt sie alle in verwaltbare Ausgabedateien. Dies ist besonders nützlich für Single-Page-Anwendungen (der heutige De-facto-Standard für Webanwendungen).

Welche Dateien können Vue-Webpack-Pakete enthalten? Welche Dateien können Vue-Webpack-Pakete enthalten? Dec 20, 2022 pm 07:44 PM

In Vue kann Webpack JS-, CSS-, Bilder-, JSON- und andere Dateien in geeignete Formate für die Browserverwendung packen; in Webpack können JS-, CSS-, Bilder-, JSON- und andere Dateitypen als Module verwendet werden. Verschiedene Modulressourcen im Webpack können gepackt und zu einem oder mehreren Paketen zusammengeführt werden. Während des Verpackungsprozesses können die Ressourcen verarbeitet werden, z. B. durch Komprimieren von Bildern, Konvertieren von SCSS in CSS, Konvertieren der ES6-Syntax in ES5 usw., was möglich ist Wird anhand des HTML-Dateityps erkannt.

So installieren Sie Webpack in Vue So installieren Sie Webpack in Vue Jul 25, 2022 pm 03:27 PM

Webpack in Vue wird mit dem Node-Paketmanager „npm“ oder dem npm-Image „cnpm“ installiert. Webpack ist ein statisches Modul-Paketierungstool für moderne JavaScript-Anwendungen. Es erfordert die Unterstützung von node.js. Es muss mit npm oder cnpm installiert werden. g“ oder „cnpm install webpack -g“.

See all articles