Generador de Configuración de Webpack
Escribir un webpack.config.js de memoria implica recordar la forma exacta de output, la expresión test de cada loader y cómo se enganchan los plugins. Este generador lo convierte en un formulario breve: define tu archivo de entrada, la carpeta de salida y el modo de compilación, y marca las piezas que necesites: TypeScript, Babel, un loader de CSS, HtmlWebpackPlugin y un servidor de desarrollo. Genera una configuración de webpack 5 limpia y lista para copiar, con nombres de archivo [contenthash] y output.clean ya incluidos.
Cómo crear una configuración de webpack
-
1
Define entry y salida
Escribe tu archivo de entrada (por defecto `./src/index.js`) y la carpeta de salida (por defecto `dist`).
-
2
Elige el modo
Selecciona `production` o `development`. Se escribe directamente en el campo `mode`.
-
3
Activa loaders y plugins
Activa TypeScript (`ts-loader`), Babel (`babel-loader`), un loader de CSS (`style-loader` + `css-loader`), `HtmlWebpackPlugin` y un servidor de desarrollo según lo que necesites.
-
4
Copia la configuración
El `webpack.config.js` se actualiza en tiempo real. Usa el botón de copiar y pégalo en la raíz de tu proyecto.
Salida por defecto
Con los valores por defecto (modo production, TypeScript, Babel, un loader de CSS y HtmlWebpackPlugin), el generador produce:
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' }),
],
};
Qué escribe cada opción
| Opción | Qué añade a la configuración |
|---|---|
| entry | El valor de entry, p. ej. entry: './src/index.js'. |
| carpeta de salida | output.path, resuelto con path.resolve(__dirname, 'dist'). |
| mode | mode: 'production' o mode: 'development'. |
| TypeScript | Una regla ts-loader para .ts/.tsx, más esas extensiones en resolve. |
| Babel | Una regla babel-loader para .js/.jsx. |
| loader de CSS | Una regla que encadena style-loader y css-loader para .css. |
| HtmlWebpackPlugin | La línea require más new HtmlWebpackPlugin({ template: './src/index.html' }). |
| servidor de desarrollo | Un bloque devServer que sirve la carpeta de salida en el puerto 3000 con recarga en caliente. |
Decisiones fijas en la salida
Para mantener limpia la configuración inicial, algunos valores se establecen por ti en lugar de exponerse como campos:
- Nombres de archivo con hash.
output.filenamees siemprebundle.[contenthash].js, lo que invalida la caché del navegador cada vez que cambia el bundle. - Salida limpia.
output.clean: truevacía la carpeta de salida en cada compilación, el reemplazo de webpack 5 paraclean-webpack-plugin. - El CSS se empaqueta, no se extrae.
style-loaderinyecta los estilos a través de JavaScript. Para emitir un archivo.cssaparte en producción, añadeMiniCssExtractPlugintú mismo. - Servidor de desarrollo básico. Cuando se activa,
devServerestablecestatic,port: 3000yhot: true. Añade a mano opciones comohistoryApiFallbackoproxysi tu app las necesita.
Cómo ampliarlo
El archivo generado es un punto de partida, no una configuración de producción completa. Pasos habituales que añades a mano: MiniCssExtractPlugin para extraer el CSS, sass-loader para .scss, los módulos asset de webpack 5 para imágenes y fuentes, un valor de devtool para los source maps y un bloque splitChunks para dividir el código.
Preguntas frecuentes
Para webpack 5. La salida usa output.clean y nombres de archivo [contenthash], las convenciones modernas de webpack 5, así que no hace falta ningún plugin de limpieza extra.
No, siempre genera un webpack.config.js en JavaScript. Activar la opción de TypeScript añade una regla ts-loader para que webpack compile tu código .ts/.tsx; no cambia el formato del propio archivo de configuración.
El bloque devServer generado usa el puerto 3000 con recarga en caliente. Cambia el valor de port en el archivo copiado si necesitas otro.
Sí. Cada opción añade su propia regla (ts-loader para .tsx?, babel-loader para .jsx?), así que puedes activar una, la otra o ambas según cómo transpile tu proyecto.
Herramientas relacionadas
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Convertidor de ASCII a Binario
Convierte cualquier cadena ASCII a su representación binaria. Cada carácter se convierte en ocho bits, separados por espacios, listos para pegar en un seguimiento de protocolo o tarea.
Desofuscador de JavaScript
Desofusca JavaScript minificado o empaquetado con renombrado de variables, decodificación de arreglos de cadenas, reversión de aplanamiento de flujo de control y embellecimiento.
Generador de Formularios CSS
Genera el CSS de un formulario completo con estilo: una cuadrícula de formulario, etiquetas, entradas, áreas de texto, selectores y estados de foco claros. Elige el color de acento, el radio de las esquinas y la separación, y copia el código.
Herramienta disponible en otros idiomas
- Generator konfiguracji webpack [PL]
- Générateur de configuration Webpack [FR]
- Webpack設定ジェネレーター [JA]
- Webpack-konfigurationsgenerator [SV]
- Webpack-Konfigurationsgenerator [DE]
- Generator Konfigurasi Webpack [ID]
- Trình tạo cấu hình webpack [VI]
- مولّد إعدادات Webpack [AR]
- Webpack 설정 생성기 [KO]
- ตัวสร้างการตั้งค่า Webpack [TH]
- Webpack-configuratiegenerator [NL]
- Gerador de Configuração Webpack [PT]
- Webpack Config Generator [EN]
- Generatore di Configurazione Webpack [IT]
- Генератор конфигурации webpack [RU]
- Webpack Yapılandırma Oluşturucu [TR]
- Webpack 配置生成器 [ZH]