2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Amis front-end, nous allons parler aujourd’hui du Webpack que les gens aiment et détestent. Oui, c’est l’outil de construction configuré pour vous donner envie de briser votre clavier, mais vous ne pouvez pas vous en passer. Ne vous inquiétez pas, suivez-moi et je vous garantis que vous passerez de novice Webpack à maître de configuration !
En termes simples, Webpack est un outil d'empaquetage de modules statiques pour les applications JavaScript modernes. Lorsque Webpack traite une application, il crée en interne un graphe de dépendances qui mappe chaque module requis par le projet et génère un ou plusieurs bundles.
Cela semble élevé ? En fait, il s'agit d'organiser et de regrouper vos fichiers de code désordonnés dans des fichiers que le navigateur peut comprendre et exécuter. C'est comme une femme de ménage très travailleuse qui garde en ordre tous les vêtements, livres et jouets de votre maison.
Jetons d’abord un coup d’œil à la configuration de base de Webpack.Créerwebpack.config.js
Fichier, voici notre base de configuration :
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
};
ici,entry
précise le point d'entrée de l'application,output
Indique à Webpack où afficher les bundles qu'il crée et comment nommer ces fichiers.
Webpack lui-même ne comprend que les fichiers JavaScript et JSON. Les chargeurs permettent à Webpack de traiter d'autres types de fichiers et de les convertir en modules valides pouvant être utilisés par les applications.
module.exports = {
// ...
module: {
rules: [
{
test: /.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /.(png|svg|jpg|gif)$/,
use: ['file-loader'],
},
],
},
};
avez-vous vu? Nous disons à Webpack : "Hé, mon frère, utilise style-loader et css-loader pour traiter les fichiers .css, et utilise file-loader pour traiter les images."
Les plugins sont l’épine dorsale de Webpack. Ils peuvent être utilisés pour gérer diverses tâches, depuis l’optimisation et la compression du packaging jusqu’à la redéfinition des variables dans l’environnement.
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
// ...
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
title: '我的超酷网页',
}),
],
};
Ici, nous utilisons CleanWebpackPlugin pour nettoyer /dist
dossier et HtmlWebpackPlugin pour générer un fichier HTML. C'est comme installer deux assistants de droite pour Webpack, l'un chargé du ménage et l'autre chargé de la décoration de la pièce.
Webpack fournit mode
Options de configuration qui indiquent à Webpack d'utiliser les optimisations intégrées pour le mode correspondant :
module.exports = {
mode: 'production', // 或者 'development'
// ...
};
Lorsqu'il est défini sur « production », Webpack activera automatiquement un certain nombre de plugins d'optimisation, tels que la compression du code JS. Le mode « développement » se concentre sur des constructions rapides et une excellente expérience de développement. C'est comme mettre deux chapeaux pour Webpack, l'un est un chapeau de travail et l'autre est un chapeau de vacances.
Utilisez webpack-dev-server pour fournir un serveur Web simple qui peut être rechargé en temps réel :
module.exports = {
// ...
devServer: {
contentBase: './dist',
hot: true,
},
};
Après cette configuration, si vous modifiez le code, le navigateur se rafraîchira automatiquement. C’est comme mettre un turbocompresseur dans votre processus de développement !
Le fractionnement du code est l'une des fonctionnalités les plus intéressantes de Webpack. Il vous permet de diviser votre code en différents packages, qui peuvent ensuite être chargés à la demande ou en parallèle.
module.exports = {
// ...
optimization: {
splitChunks: {
chunks: 'all',
},
},
};
Cette configuration indique à Webpack : "Hé, aidez-moi à extraire le code commun et à le conditionner séparément." Cela peut éviter le chargement répété des modules et réduire la taille du package principal. C'est comme refaire votre valise, en plaçant les objets fréquemment utilisés là où ils sont le plus facilement accessibles.
Tree Shaking est un terme couramment utilisé pour décrire la suppression de code non référencé dans un contexte JavaScript.
module.exports = {
mode: 'production',
optimization: {
usedExports: true,
},
};
Cette configuration activera automatiquement Tree Shaking en mode production. Il analysera votre code pour découvrir quel code n'est pas utilisé, puis "élaguera" ces codes inutiles comme un jardinier élague des arbres.
D'accord, après toutes ces manipulations, vous devriez avoir une compréhension globale de la configuration de Webpack. De la configuration de base aux fonctionnalités avancées, nous avons couvert les principales fonctions de Webpack. N'oubliez pas que Webpack est comme un puissant couteau suisse et que son utilisation correcte peut considérablement améliorer l'efficacité de votre développement et les performances de vos applications.
Bien entendu, le monde de Webpack est bien plus que cela. Il existe des fonctionnalités plus avancées qui vous attendent, telles que le chargement différé, le préchargement, la mise en cache, etc. Cependant, après avoir maîtrisé ces bases, vous pouvez déjà dire avec fierté : « Je suis aussi un maître de la configuration Webpack !
Enfin, n’oubliez pas de consulter fréquemment la documentation officielle de Webpack. Parce que dans le monde en évolution rapide du front-end, ce qui était hier une bonne pratique peut être dépassé aujourd’hui. Continuez à apprendre et à explorer, et vous pourrez aller de plus en plus loin sur la voie de l’ingénierie front-end.
Maintenant, prenez votre clavier et commencez votre parcours de configuration Webpack ! N'oubliez pas que chaque erreur est un tremplin sur votre chemin pour devenir un maître. Allez, frappez les ouvriers !
Il comprend le dernier partage d'expériences d'entretien, l'analyse de questions d'entretien réelles, une banque complète de plus de 2000 questions et des explications détaillées des manuels techniques d'entretien front-end et back-end, que vous passiez un entretien pour un recrutement scolaire ou un recrutement social ou que vous souhaitiez ; pour améliorer vos compétences en programmation, vous pouvez y faire face calmement~
d'un pavé. Allez, frappez les ouvriers !
Il comprend le dernier partage d'expériences d'entretien, l'analyse de questions d'entretien réelles, une banque complète de plus de 2000 questions et des explications détaillées des manuels techniques d'entretien front-end et back-end, que vous passiez un entretien pour un recrutement scolaire ou un recrutement social ou que vous souhaitiez ; pour améliorer vos compétences en programmation, vous pouvez y faire face calmement~
[Les images de liens externes sont en cours de transfert...(img-LBHUGtbe-1720689041341)]