Webpack-Konfigurationsgenerator
Eine webpack.config.js aus dem Gedächtnis zu schreiben bedeutet, sich an die genaue Form von output, die test-Regex für jeden Loader und die Verdrahtung der Plugins zu erinnern. Dieser Generator macht daraus ein kurzes Formular: Legen Sie Ihre Eingabedatei, den Ausgabeordner und den Build-Modus fest und haken Sie die benötigten Teile an: TypeScript, Babel, einen CSS-Loader, HtmlWebpackPlugin und einen Dev-Server. Er schreibt eine saubere, kopierfertige webpack-5-Konfiguration mit [contenthash]-Dateinamen und bereits gesetztem output.clean.
So erstellen Sie eine Webpack-Konfiguration
-
1
Entry und Ausgabe festlegen
Geben Sie Ihre Eingabedatei (Standard `./src/index.js`) und den Ausgabeordner (Standard `dist`) ein.
-
2
Modus wählen
Wählen Sie `production` oder `development`. Der Wert wird direkt in das Feld `mode` geschrieben.
-
3
Loader und Plugins aktivieren
Aktivieren Sie nach Bedarf TypeScript (`ts-loader`), Babel (`babel-loader`), einen CSS-Loader (`style-loader` + `css-loader`), `HtmlWebpackPlugin` und einen Dev-Server.
-
4
Konfiguration kopieren
Die `webpack.config.js` aktualisiert sich live. Nutzen Sie die Kopieren-Schaltfläche und fügen Sie sie in das Wurzelverzeichnis Ihres Projekts ein.
Standardausgabe
Mit den Standardwerten (Modus production, TypeScript, Babel, einem CSS-Loader und HtmlWebpackPlugin) erzeugt der Generator:
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' }),
],
};
Was jede Option schreibt
| Option | Was sie zur Konfiguration hinzufügt |
|---|---|
| entry | Der Wert von entry, z. B. entry: './src/index.js'. |
| Ausgabeordner | output.path, aufgelöst mit path.resolve(__dirname, 'dist'). |
| mode | mode: 'production' oder mode: 'development'. |
| TypeScript | Eine ts-loader-Regel für .ts/.tsx sowie diese Endungen in resolve. |
| Babel | Eine babel-loader-Regel für .js/.jsx. |
| CSS-Loader | Eine Regel, die style-loader und css-loader für .css verkettet. |
| HtmlWebpackPlugin | Die require-Zeile plus new HtmlWebpackPlugin({ template: './src/index.html' }). |
| Dev-Server | Ein devServer-Block, der den Ausgabeordner auf Port 3000 mit Hot Reload bereitstellt. |
Feste Vorgaben in der Ausgabe
Damit die Starter-Konfiguration schlank bleibt, sind einige Werte fest gesetzt statt als Felder freigegeben:
- Gehashte Dateinamen.
output.filenameist stetsbundle.[contenthash].js, was den Browser-Cache jedes Mal invalidiert, wenn sich das Bundle ändert. - Saubere Ausgabe.
output.clean: trueleert den Ausgabeordner bei jedem Build, der webpack-5-Ersatz fürclean-webpack-plugin. - CSS wird gebündelt, nicht extrahiert.
style-loaderfügt die Styles über JavaScript ein. Um in Produktion eine separate.css-Datei zu erzeugen, ergänzen SieMiniCssExtractPluginselbst. - Dev-Server-Grundlagen. Aktiviert setzt
devServerstatic,port: 3000undhot: true. Ergänzen Sie Optionen wiehistoryApiFallbackoderproxyvon Hand, falls Ihre App sie braucht.
So erweitern Sie es
Die erzeugte Datei ist ein Ausgangspunkt, keine vollständige Produktions-Konfiguration. Übliche nächste Schritte, die Sie von Hand ergänzen: MiniCssExtractPlugin für extrahiertes CSS, sass-loader für .scss, die asset-Module von webpack 5 für Bilder und Schriften, ein devtool-Wert für Source Maps und ein splitChunks-Block für Code-Splitting.
Häufig gestellte Fragen
Für webpack 5. Die Ausgabe verwendet output.clean und [contenthash]-Dateinamen, die modernen webpack-5-Konventionen, sodass kein zusätzliches Clean-Plugin nötig ist.
Nein, es schreibt immer eine webpack.config.js in JavaScript. Die TypeScript-Option fügt eine ts-loader-Regel hinzu, damit webpack Ihren .ts/.tsx-Quellcode kompiliert; sie ändert nicht das Format der Konfigurationsdatei selbst.
Der erzeugte devServer-Block verwendet Port 3000 mit Hot Reload. Ändern Sie den port-Wert in der kopierten Datei, wenn Sie einen anderen brauchen.
Ja. Jede Option fügt ihre eigene Regel hinzu (ts-loader für .tsx?, babel-loader für .jsx?), sodass Sie je nach Transpilierung Ihres Projekts die eine, die andere oder beide aktivieren können.
Verwandte Tools
Farbrad-Explorer
Erforschen Sie das Farbrad interaktiv. Rotieren Sie Harmonien, vergleichen Sie HSL mit RYB, erkennen Sie komplementäre und triadische Paare in Echtzeit.
ASCII-Tabelle Referenz
Vollständige ASCII-Tabelle von 0 bis 127 mit Dezimal-, Hex-, Oktal-, Binär- und numerischer HTML-Zeichenreferenz für jedes Zeichen, einschließlich Steuerzeichen wie NUL, LF und DEL.
HTML-Zeichenreferenz
Durchsuchbare Liste von HTML-Entitäten, ihren benannten und numerischen Codes sowie eine Ein-Klick-Kopie für Sonderzeichen und Symbole.
CSS-Scrollbar-Generator
Passen Sie das Erscheinungsbild der Bildlaufleiste per CSS an. Modernes scrollbar-color / scrollbar-width und das ältere ::-webkit-scrollbar für breite Browser-Unterstützung.
Referenz für Tastenkombinationen
Durchsuchen Sie dokumentierte Standardkürzel für VS Code, Chrome und Bash mit GNU Readline unter macOS, Windows und Linux.
Zufallsbuchstaben-Generator
Erzeugen Sie zufällige A-Z-Buchstaben. Wählen Sie Anzahl, Großschreibung, Kleinschreibung oder gemischte Schreibweise für Spiele, Aufgaben und Unterricht.
Tool in anderen Sprachen verfügbar
- Webpack設定ジェネレーター [JA]
- Generator konfiguracji webpack [PL]
- Générateur de configuration Webpack [FR]
- Trình tạo cấu hình webpack [VI]
- Webpack-configuratiegenerator [NL]
- مولّد إعدادات Webpack [AR]
- ตัวสร้างการตั้งค่า Webpack [TH]
- Gerador de Configuração Webpack [PT]
- Webpack 설정 생성기 [KO]
- Generador de Configuración de Webpack [ES]
- Webpack-konfigurationsgenerator [SV]
- Generator Konfigurasi Webpack [ID]
- Webpack Config Generator [EN]
- Generatore di Configurazione Webpack [IT]
- Генератор конфигурации webpack [RU]
- Webpack Yapılandırma Oluşturucu [TR]
- Webpack 配置生成器 [ZH]