Configuración Avanzada de Webpack para Separar Código y Dependencias
Clase 18 de 22 • Curso de Webpack con Express.js, React.js y TypeScript
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
08:01 min - 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:52 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:07 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
Viendo ahora
Despliegue
¿Cómo dividir el proyecto en elementos más pequeños?
Dividir tu proyecto en elementos más pequeños y manejables no solo mejora el mantenimiento del código, sino que también optimiza el rendimiento general de la aplicación. Vamos a sacar provecho de la configuración de webpack para separar las dependencias y el código común de nuestro proyecto. A continuación, te comparto cómo llevar a cabo esta separación y las ventajas de hacerlo.
¿Cómo configurar webpack para la producción?
Para preparar nuestra aplicación para producción, debemos ajustar la configuración de webpack. Haremos cambios precisos para actualizar los puntos de entrada y nombrar adecuadamente nuestros archivos.
// Ejemplo de configuración de puntos de entrada y nombres de archivo
module.exports = {
entry: {
home: './src/index.js',
header: './src/header/index.js'
},
output: {
filename: '[name].bundle.js',
chunkFilename: '[name].chunk.js'
}
};
¿Qué es la estrategia de "Split Chunks"?
La optimización es clave y el uso de split chunks en webpack nos ayuda a segmentar el código en partes reutilizables y a evitar la duplicación. Esto se centra en los "commons" y "vendors".
¿Cómo configurar SplitChunks?
Primero, configuramos los commons y vendors dentro de nuestra sección de optimización, bien diferenciados para su uso eficiente.
// Configuración de SplitChunks
optimization: {
splitChunks: {
chunks: 'all',
cacheGroups: {
commons: {
test: /[\\/]node_modules[\\/](react|react-dom)[\\/]/,
name: 'commons',
chunks: 'all',
reuseExistingChunk: true,
priority: 20,
},
vendors: {
test: /[\\/]node_modules[\\/]/,
name: 'vendors',
chunks: 'all',
priority: 10,
}
}
}
}
¿Cómo solucionar y prevenir problemas comunes?
Durante la configuración, es fácil cometer errores tipográficos o de sintaxis. Asegúrate de revisar los errores en la consola que podrían prevenir que tu aplicación se compile correctamente.
- Valida aperturas y cierres en tu regex.
- Asegúrate de que los nombres de parámetros estén bien escritos, como
chunksen vez dechons. - Comprueba que todas las dependencias estén correctamente definidas.
¿Cómo ejecutar y verificar la configuración?
Después de establecer la configuración correcta, es momento de compilar la aplicación en modo producción. Usa el siguiente comando:
npm run build
Esto generará los archivos divididos y optimizados que podrás verificar en el directorio de dist. Al revisar estos archivos, notarás:
commons.jsyvendors.jsreúnen el código común y las librerías de terceros, respectivamente.- Los archivos específicos como
header.jsyhome.jsse encuentran separados, facilitando la organización del código.
Valor de una buena separación de código
La separación de la aplicación en diferentes elementos mejora la gestión y rendimiento, además de facilitar las futuras actualizaciones y mantenimientos. Sin embargo, recuerda que este es un proceso iterativo: revisa constantemente tus configuraciones y actualízalas conforme cambien las necesidades del proyecto.
¡Sigue explorando estas configuraciones avanzadas y lleva tus aplicaciones al siguiente nivel!