Générateur de configuration Webpack
Écrire un webpack.config.js de mémoire, c’est se rappeler la forme exacte de output, la regex test de chaque loader et la façon dont les plugins se branchent. Ce générateur transforme cela en un formulaire court : définissez votre fichier d’entrée, le dossier de sortie et le mode de build, puis cochez les éléments dont vous avez besoin : TypeScript, Babel, un loader CSS, HtmlWebpackPlugin et un serveur de développement. Il produit une configuration webpack 5 propre et prête à copier, avec des noms de fichiers [contenthash] et output.clean déjà en place.
Comment créer une configuration webpack
-
1
Définissez entry et sortie
Saisissez votre fichier d'entrée (par défaut `./src/index.js`) et le dossier de sortie (par défaut `dist`).
-
2
Choisissez le mode
Sélectionnez `production` ou `development`. La valeur est écrite directement dans le champ `mode`.
-
3
Activez les loaders et plugins
Activez selon vos besoins TypeScript (`ts-loader`), Babel (`babel-loader`), un loader CSS (`style-loader` + `css-loader`), `HtmlWebpackPlugin` et un serveur de développement.
-
4
Copiez la configuration
Le `webpack.config.js` se met à jour en direct. Utilisez le bouton de copie et collez-le à la racine de votre projet.
Sortie par défaut
Avec les valeurs par défaut (mode production, TypeScript, Babel, un loader CSS et HtmlWebpackPlugin), le générateur produit :
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
mode: 'production',
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.[contenthash].js',
clean: true,
},
resolve: { extensions: ['.ts','.tsx','.js'] },
module: {
rules: [
{ test: /\.tsx?$/, use: 'ts-loader', exclude: /node_modules/ },
{ test: /\.jsx?$/, exclude: /node_modules/, use: 'babel-loader' },
{ test: /\.css$/, use: ['style-loader', 'css-loader'] },
],
},
plugins: [
new HtmlWebpackPlugin({ template: './src/index.html' }),
],
};
Ce que chaque option écrit
| Option | Ce qu’elle ajoute à la configuration |
|---|---|
| entry | La valeur de entry, par ex. entry: './src/index.js'. |
| dossier de sortie | output.path, résolu avec path.resolve(__dirname, 'dist'). |
| mode | mode: 'production' ou mode: 'development'. |
| TypeScript | Une règle ts-loader pour .ts/.tsx, plus ces extensions dans resolve. |
| Babel | Une règle babel-loader pour .js/.jsx. |
| loader CSS | Une règle qui enchaîne style-loader et css-loader pour .css. |
| HtmlWebpackPlugin | La ligne require plus new HtmlWebpackPlugin({ template: './src/index.html' }). |
| serveur de développement | Un bloc devServer qui sert le dossier de sortie sur le port 3000 avec rechargement à chaud. |
Choix fixés dans la sortie
Pour garder la configuration de départ propre, quelques valeurs sont fixées pour vous plutôt qu’exposées comme des champs :
- Noms de fichiers hachés.
output.filenameest toujoursbundle.[contenthash].js, ce qui invalide le cache du navigateur chaque fois que le bundle change. - Sortie propre.
output.clean: truevide le dossier de sortie à chaque build, le remplacement webpack 5 declean-webpack-plugin. - Le CSS est empaqueté, pas extrait.
style-loaderinjecte les styles via JavaScript. Pour émettre un fichier.cssdistinct en production, ajoutezMiniCssExtractPluginvous-même. - Serveur de développement de base. Une fois activé,
devServerdéfinitstatic,port: 3000ethot: true. Ajoutez à la main des options commehistoryApiFallbackouproxysi votre application en a besoin.
Pour aller plus loin
Le fichier généré est un point de départ, pas une configuration de production complète. Étapes suivantes courantes que vous ajoutez à la main : MiniCssExtractPlugin pour extraire le CSS, sass-loader pour .scss, les modules asset de webpack 5 pour les images et les polices, une valeur devtool pour les source maps et un bloc splitChunks pour le découpage du code.
Questions fréquentes
Pour webpack 5. La sortie utilise output.clean et des noms de fichiers [contenthash], les conventions modernes de webpack 5, si bien qu’aucun plugin de nettoyage supplémentaire n’est nécessaire.
Non, il écrit toujours un webpack.config.js en JavaScript. Activer l’option TypeScript ajoute une règle ts-loader pour que webpack compile votre source .ts/.tsx ; cela ne change pas le format du fichier de configuration lui-même.
Le bloc devServer généré utilise le port 3000 avec rechargement à chaud. Modifiez la valeur port dans le fichier copié si vous en voulez un autre.
Oui. Chaque option ajoute sa propre règle (ts-loader pour .tsx?, babel-loader pour .jsx?), vous pouvez donc activer l’une, l’autre ou les deux selon la façon dont votre projet transpile.
Outils similaires
Référence de la table ASCII
Table ASCII complète de 0 à 127 avec décimal, hexadécimal, octal, binaire et référence numérique HTML pour chaque caractère, y compris les codes de contrôle comme NUL, LF et DEL.
Compteur de FPS
Mesurez les FPS du navigateur avec requestAnimationFrame : lissage, fréquence d'images min et max, seuil d'alerte et graphique facultatif. Tout se passe en local, sans envoi ni API.
Référence des caractères HTML
Liste consultable des entités HTML, de leurs codes nommés et numériques, et un copier-coller en un clic pour les caractères et symboles spéciaux.
Référence des raccourcis clavier
Recherchez les raccourcis par défaut documentés de VS Code, Chrome et Bash avec GNU Readline sous macOS, Windows et Linux.
Générateur de licence
Générez le texte complet des licences open source avec votre nom et l'année remplis. Couvre les licences MIT, Apache 2.0, GPLv3, BSD-3, MPL-2.0 et CC.
Vérificateur d'algorithme de Luhn
Validez les numéros de carte de crédit, IMEI, NAS et autres numéros protégés par Luhn. Retourne un résultat valide ou invalide et montre chaque étape de doublement et de somme.
Outil disponible dans d’autres langues
- Webpack設定ジェネレーター [JA]
- مولّد إعدادات Webpack [AR]
- Trình tạo cấu hình webpack [VI]
- Webpack-configuratiegenerator [NL]
- Webpack-Konfigurationsgenerator [DE]
- ตัวสร้างการตั้งค่า Webpack [TH]
- Gerador de Configuração Webpack [PT]
- Webpack 설정 생성기 [KO]
- Generador de Configuración de Webpack [ES]
- Webpack-konfigurationsgenerator [SV]
- Generator Konfigurasi Webpack [ID]
- Generator konfiguracji webpack [PL]
- Webpack 配置生成器 [ZH]
- Webpack Config Generator [EN]
- Generatore di Configurazione Webpack [IT]
- Генератор конфигурации webpack [RU]
- Webpack Yapılandırma Oluşturucu [TR]