Contenido del curso
Webpack en el Backend
Webpack en el Frontend
- 7

Migración y Optimización de Proyectos con Webpack 5
11:07 min - 8

Configuración de Webpack para Desarrollo y Producción en React
Viendo ahora - 9

Creación de Hooks para Consumo de APIs en React con Axios
12:15 min - 10

"Implementación de Context en React para Gestión de Estado"
06:51 min - 11

Configuración de Alias en Webpack para Proyectos JavaScript
06:59 min - 12

Optimización de Imágenes y Uso de CDN en Proyectos Web
09:03 min - 13

Optimización de Imágenes PNG con Image Minimiser Webpack Plugin
08:28 min - 14

Configuración de TypeScript en React con Webpack
11:39 min - 15

Configuración de Hot Reload en Webpack con React
12:06 min - 16

División de Código con Lazy Loading en React
09:29 min - 17

División de Código con Webpack y Micro Frontend en React
06:37 min - 18

Configuración Avanzada de Webpack para Separar Código y Dependencias
12:08 min
Despliegue
Configuración de Webpack para Desarrollo y Producción en React
Resumen
Preparar un proyecto de React para que funcione tanto en modo desarrollo como en modo producción requiere separar las configuraciones de webpack en archivos independientes y aplicar optimizaciones específicas. Aquí se explica paso a paso cómo crear ambas configuraciones, instalar los plugins necesarios y verificar que todo funcione correctamente.
¿Cómo crear la configuración de desarrollo en webpack?
El primer paso es crear un archivo llamado webpack.config.dev.js [00:18]. Se toma como base la configuración principal del proyecto y se copia en este nuevo archivo. La diferencia clave está en la sección devServer, donde se definen tres propiedades fundamentales:
- contentBase: utiliza
path.join(__dirname, 'dist')para indicar dónde se encuentra el contenido del proyecto [00:35]. - compress: se establece en
truepara activar la compresión del proyecto durante el desarrollo [00:55]. - port: se asigna el puerto 3005, en lugar del puerto por defecto que suele ser 3000 u 8080 [01:01].
Con estas tres líneas, la configuración de desarrollo queda lista para servir el proyecto localmente con recarga automática.
¿Qué plugins se necesitan para optimizar la configuración de producción?
Para la configuración de producción se requieren tres plugins que se encargan de optimizar y limpiar el proyecto antes del despliegue [01:15]:
- terser-webpack-plugin: optimiza y minimiza el código JavaScript.
- clean-webpack-plugin: limpia la carpeta
distcada vez que se genera un nuevo build, evitando archivos residuales. - css-minimizer-webpack-plugin: minifica los archivos CSS para reducir su peso.
La instalación se realiza con un solo comando en la terminal [01:40]:
bash npm install terser-webpack-plugin clean-webpack-plugin css-minimizer-webpack-plugin -D
La bandera -D indica que son dependencias de desarrollo, ya que solo se utilizan durante el proceso de construcción.
¿Cómo se integran los plugins en la configuración?
Una vez instalados, se importan en el archivo de configuración de producción mediante require [02:10]:
javascript const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); const TerserPlugin = require('terser-webpack-plugin'); const { CleanWebpackPlugin } = require('clean-webpack-plugin');
Dentro de la sección plugins, se crea una nueva instancia de CleanWebpackPlugin sin parámetros adicionales [03:05]:
javascript plugins: [ new CleanWebpackPlugin(), ]
¿Cómo se configura la sección de optimization?
Se agrega un bloque llamado optimization donde se activan las opciones de minimización [03:15]:
javascript optimization: { minimize: true, minimizer: [ new CssMinimizerPlugin(), new TerserPlugin(), ], }
Este arreglo dentro de minimizer recibe las instancias de los plugins que se encargan de comprimir tanto el CSS como el JavaScript. Esta misma estrategia se aplica en proyectos puros de webpack y ahora se traslada al proyecto con React [03:40].
¿Cómo se actualizan los scripts en package.json?
Para que cada comando utilice la configuración correcta, se modifican los scripts en el archivo package.json [03:55]:
{ "scripts": { "build": "webpack --mode production --config webpack.config.js", "start": "webpack serve --open --mode development --config webpack.config.dev.js" } }
- El script build ejecuta webpack en modo producción con la bandera
--configapuntando awebpack.config.js. - El script start levanta el servidor de desarrollo usando
webpack serve --openy apunta awebpack.config.dev.js.
Al ejecutar npm run start, el proyecto se abre automáticamente en el puerto 3005 configurado previamente [04:25]. Al ejecutar npm run build, webpack genera el bundle optimizado dentro de la carpeta dist, donde se puede verificar que el JavaScript está minimizado y el CSS comprimido [04:50].
Estas optimizaciones son esenciales para que el proyecto funcione de forma eficiente en producción. ¿Ya aplicas estas separaciones de configuración en tus proyectos? Comparte tu experiencia y dudas en los comentarios.