Quoi de neuf dans webpack4 ? A quoi dois-je faire attention ?
Cet article vous apporte les nouveautés de webpack4 ? A quoi dois-je faire attention ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Alors que les développeurs connaissent encore la rémanence de webpack3.x, webpack4.x est discrètement arrivé.
Pour les utilisateurs, les questions les plus attendues sont les suivantes :
Quels sont les changements dans la nouvelle version par rapport à l'ancienne version ?
Migration de webpack3.x vers webapck4.x ?
À quoi devons-nous faire attention lors de l'utilisation de webpack4.x ?
Nouvelles fonctionnalités de webpack
La puissance de webpack en tant qu'outil de build réside dans :
De nombreuses fonctionnalités uniques peuvent être configurées dans webpack.config.js
Sa configuration est flexible et modifiable
Mais à cause de cela, C'est aussi ça qui est mauvais. Parce qu'il est trop décontracté, il est difficile à contrôler, ce qui entraîne les problèmes suivants :
Le coût d'apprentissage, d'utilisation et de recherche du webpack est trop élevé (la courbe de progression est trop raide );
Construire une petite application nécessite également de configurer webpack.config.js comme construire une grande application (le moineau est petit mais possède tous les organes internes
) ;
Et webpack4.x est un nouveau La version de première génération de webpack a grandement résolu les problèmes existants.
webpackk4.x n'a pas besoin d'utiliser le fichier de configuration webpack.config.js
Vous pouvez utiliser les 6 étapes suivantes pour terminer la construction du projet :
-
Créez un répertoire de projet (webpack-demo), puis entrez dans le répertoire modifié
mkdir webpack-demo && cd webpack-demo
-
Initialisez le package Fichier .json
npm init -y
-
Charger les dépendances webpack et webpack-cli
npm install webpack webpack-cli --save-dev
Ajoutez le fichier ~/src/index.js au projet (index.js est le fichier d'entrée par défaut, et le répertoire d'entrée par défaut est ~/src. Bien sûr, vous pouvez également personnaliser le fichier d'entrée. Vous devez modifier la configuration principale dans package.json L'élément est le fichier spécifié)
le code du fichier index.js est le suivant :
console.log('hello webpack.')
Ouvrez package.json et ajoutez le code suivant dans l'élément de configuration des scripts :
"scripts": { "build": "webpack" }
Remarque : il s'agit de la commande des scripts NPM
Exécutez la commande npm run build, puis vous verrez un fichier ~/dist/main.js dans le projet. Dans la fenêtre de commande, vous devriez remarquer l'invite d'avertissement suivante :
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/
Ignorez ce message d'invite. Nous avons constaté que la configuration d'initialisation du projet de webpack4.x n'est pas très différente de webpack3.x, mais de webpack4. x Le fichier de configuration webpack.config.js nécessaire est manquant.
Modifications dans le mode d'empaquetageRegardons le message d'invite ci-dessus. Cela signifie : "Si l'élément de configuration du mode d'empaquetage n'est pas défini, alors le mode d'empaquetage par défaut est le mode de production (production) et pour le mode de développement. (développement), vous devez configurer l'élément de configuration du mode. À ce stade, je pense que vos lecteurs devraient comprendre que webpack4 économise du temps et des efforts.
Mais dans les applications réelles, nous faisons souvent la distinction entre le mode développement et le mode production, mais ce n'est pas difficile dans webpack4.x. Modifiez simplement les scripts dans package.json comme suit :
"scripts": { "dev": "webpack --mode development", // 用于开发模式 "build": "webpack --mode production" // 用于生产模式 }
Surcharger l'entrée/sortie de l'élément de configuration par défaut
Il n'y a pas de fichier de configuration webpack.config.js, ce qui non seulement réduit notre charge de travail de configuration, mais pose également quelques questions à nous qui n'en avons qu'un aperçu. Par exemple : Comment personnaliser l'entrée/sortie ? En l'absence de webpack.config.js, on peut ajouter des éléments de configuration d'entrée/sortie dans la ligne de commande, le code est le suivant :"scripts": { "dev": "webpack --mode development ./src/entry.js --output ./dist/bundle.js", // 用于开发模式 "build": "webpack --mode production ./src/entry.js --output ./dist/bundle.min.js" // 用于生产模式 }
Migration du Webpack et précautions
En voyant ces changements dans webpack4.x, de nombreuses personnes ne se demanderont pas seulement si la migration de webpack3.x vers webpack4.x est facile. Problème , en fait, ce n'est pas gênant, webpack4.x est rétrocompatible avec webpack.3x. Afin de ne pas introduire webpack.config.js plus tôt, nous avons utilisé des scripts npm, comme le rechargement d'entrée/sortie, nous pouvons également le compléter dans le fichier de configuration webpack.config.js. La configuration est la même que celle d'origine, mais webpack4.x présente les problèmes suivants qui nécessitent une attention :升级到webpack4.x,你会发现在使用 extract-text-webpack-plugin 分离 *.css 出文件时经常出错,这是 extract-text-webpack-plugin 本身的问题,官方推荐使用 mini-css-extract-plugin 来避免问题的出现,但使用 mini-css-extract-plugin 有一个限制就是webapck须是4.2.0版本以上(较低的版本不支持)。
使用 使用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
html-webpack-plugin生成html文件(html文件用来加载打包生成 bundle.js 文件),当然你也可以使用webpack支持的各种模板loader,这里使用 html-loader 支持的 *.html 类型模板来生成。
其次,添加 mini-css-extract-plugin
和 css-loader
依赖:
npm install mini-css-extract-plugin css-loader --save-dev
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
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" },
最后,添加 webpack-dev-server 依赖,实现项目文件修改,浏览器及时刷新
npm install webpack-dev-server
在 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" },
这样一个简单的demo就完成了。
其他的loader和plugin配置和webpack3.x类同。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vue est un excellent framework JavaScript qui peut nous aider à créer rapidement des applications Web interactives et efficaces. Vue3 est la dernière version de Vue, qui introduit de nombreuses nouvelles fonctionnalités et fonctionnalités. Webpack est actuellement l'un des packagers de modules et outils de construction JavaScript les plus populaires, qui peut nous aider à gérer diverses ressources dans nos projets. Cet article explique comment utiliser Webpack pour empaqueter et créer des applications Vue3. 1. Installez Webpack

Différences : 1. La vitesse de démarrage du serveur webpack est plus lente que celle de Vite ; car Vite n'a pas besoin d'être empaqueté au démarrage, il n'est pas nécessaire d'analyser les dépendances du module et de compiler, donc la vitesse de démarrage est très rapide. 2. La mise à jour à chaud de Vite est plus rapide que le webpack ; en termes de HRM de Vite, lorsque le contenu d'un certain module change, laissez simplement le navigateur demander à nouveau le module. 3. Vite utilise esbuild pour pré-construire les dépendances, tandis que webpack est basé sur le nœud. 4. L'écologie de Vite n'est pas aussi bonne que celle du webpack, et les chargeurs et plug-ins ne sont pas assez riches.

Avec le développement continu de la technologie de développement Web, la séparation front-end et back-end et le développement modulaire sont devenus une tendance répandue. PHP est un langage back-end couramment utilisé. Lors du développement modulaire, nous devons utiliser certains outils pour gérer et empaqueter les modules. Webpack est un outil d'empaquetage modulaire très facile à utiliser. Cet article explique comment utiliser PHP et Webpack pour le développement modulaire. 1. Qu'est-ce que le développement modulaire ? Le développement modulaire fait référence à la décomposition d'un programme en différents modules indépendants. Chaque module a sa propre fonction.

Méthode de configuration : 1. Utilisez la méthode d'importation pour placer le code ES6 dans le fichier de code js emballé ; 2. Utilisez l'outil npm pour installer l'outil babel-loader, la syntaxe est "npm install -D babel-loader @babel/core @babel/preset- env"; 3. Créez le fichier de configuration ".babelrc" de l'outil babel et définissez les règles de transcodage ; 4. Configurez les règles de packaging dans le fichier webpack.config.js.

Alors que la complexité des applications Web modernes continue d’augmenter, la création d’excellents systèmes d’ingénierie frontale et de plug-ins devient de plus en plus importante. Avec la popularité de Spring Boot et Webpack, ils sont devenus une combinaison parfaite pour créer des projets frontaux et des systèmes de plug-ins. SpringBoot est un framework Java qui crée des applications Java avec des exigences de configuration minimales. Il fournit de nombreuses fonctionnalités utiles, telles que la configuration automatique, afin que les développeurs puissent créer et déployer des applications Web plus rapidement et plus facilement. W

Webpack est un outil de packaging de modules. Il crée des modules pour différentes dépendances et les regroupe tous dans des fichiers de sortie gérables. Ceci est particulièrement utile pour les applications d'une seule page (le standard de facto pour les applications Web aujourd'hui).

En vue, webpack peut regrouper des fichiers js, css, images, json et autres dans des formats appropriés pour une utilisation par le navigateur. Dans webpack, js, css, images, json et d'autres types de fichiers peuvent être utilisés comme modules. Diverses ressources de module dans webpack peuvent être regroupées et fusionnées en un ou plusieurs packages, et pendant le processus de packaging, les ressources peuvent être traitées, comme la compression d'images, la conversion de scss en css, la conversion de la syntaxe ES6 en ES5, etc., qui peuvent être reconnu par le type de fichier HTML.

Webpack dans vue est installé à l'aide du gestionnaire de packages de nœuds "npm" ou de l'image npm "cnpm". Webpack est un outil d'empaquetage de modules statiques pour les applications JavaScript modernes. Il est développé sur la base de node.js. Il nécessite la prise en charge du composant node.js lors de son utilisation. Il doit être installé à l'aide de npm ou cnpm. g" ou "cnpm install webpack -g".
