Optimización de Carga de Modales con Lazy Loading en Webpack
Clase 27 de 38 • Curso de Optimización Web
Contenido del curso
- 7

Entendiendo el Critical Rendering Path en Navegadores Web
11:11 - 8

Optimización de JavaScript para mejorar rendimiento web
10:53 - 9

Priorización de recursos CSS para mejorar rendimiento web
11:50 - 10

Optimización de Carga de Recursos con Preload, Prefetch y Preconnect
10:36 - 11

Optimización de Animaciones CSS para Mejorar el Renderizado
02:35
- 15

Optimización de Imágenes para Web: Formatos y Herramientas Efectivas
15:32 - 16

Optimización de Imágenes para Web: Uso de Tamaños y Formatos Adecuados
05:21 - 17

Comparación entre WebFonts y SVG: Ventajas y Desventajas
08:58 - 18

Lazy Loading de Imágenes: Técnicas y Estrategias Efectivas
10:14 - 19

Carga Adaptativa de Imágenes con Gatsby y Web API
04:13
- 20

Optimización de JavaScript para Producción Web
11:20 - 21

Análisis y Optimización de Bundles con Webpack
11:25 - 22

Optimización de Bundles en Proyectos Web con Webpack
17:14 - 23

Code Splitting con Webpack: Optimización de Bundles en Proyectos Web
06:31 - 24

Lazy Loading de Videos con JavaScript y Modales
21:44 - 25

Event Propagation y Filtrado de Eventos en JavaScript
17:24 - 26

Integración de Librerías en Proyectos JavaScript
14:58 - 27

Optimización de Carga de Modales con Lazy Loading en Webpack
13:25 - 28

Renderizado en Cliente vs. Servidor: Diferencias y Funciones
08:44 - 29

Implementación de Server Side Rendering en NodeJS
19:41 - 30

Optimización de Sitios con Static Site Generation
15:51
¿Cómo se resolvió el problema del video que no cargaba?
En la clase pasada, teníamos un problema con el video que no cargaba correctamente en nuestro modal. Para solucionarlo, se identificó que el problema estaba en el archivo open-modal.js, específicamente con el acceso al dataset. Se corrigió el error cambiando el identificador del dataset a "videoID", en lugar del erróneo. Este cambio permitió que el video cargara adecuadamente.
¿Cómo implementar cargas perezosas en un proyecto con Webpack?
Una de las mayores eficiencias que puedes lograr en un proyecto es la implementación de cargas perezosas o "lazy loading". En este caso, el objetivo era hacer que la librería modal-video solo se cargara al hacer clic en el botón correspondiente, en lugar de cargarla al inicio. Esto optimiza la carga inicial de la página, mejorando la experiencia del usuario.
Utilizar Webpack para la carga perezosa
Webpack ofrece la funcionalidad de realizar cargas perezosas mediante la sintaxis import(), que permite gestionar imports como promesas. Así, el momento de cargar ciertos módulos se puede controlar dinámicamente:
// Cambiamos el import del módulo al formato de importación perezosa.
import('./open-modal').then(({ OpenModal }) => {
OpenModal(videoID);
});
Consideraciones sobre closures en JavaScript
Cuando realizamos importaciones perezosas, es crucial manejar los closures con cuidado. Para evitar problemas, se recomienda asignar variables directas dentro de las funciones, optimizando así la gestión de memoria y evitando accesos inesperados a elementos como link.
¿Cómo asegurar que el cargador perezoso funcione tanto en modo desarrollo como producción?
Es esencial verificar que tanto en el entorno de desarrollo como en producción, las configuraciones de Webpack aseguren que los módulos perezosos se cargan correctamente. Se deben revisar los archivos generados en ambos modos y realizar pruebas para asegurarnos de que el sistema carga únicamente los assets necesarios cuando se requieren.
Nombres descriptivos para los chunks generados
Inicialmente, al generar los archivos en producción, se observó un nombre críptico como 2.bundle. Para mejorar la claridad y el mantenimiento, se puede usar comentarios de Webpack para asignar nombres más descriptivos a los chunks:
// Añadir nombre de chunk para identificación clara
import(/* webpackChunkName: "modal" */ './open-modal').then(({ OpenModal }) => {
OpenModal(videoID);
});
Solucionar errores 404 en producción
Un error común es no configurar correctamente la ruta pública de los archivos generados. Asegúrate de que la configuración de publicPath en Webpack termina con una barra inclinada (/). Esto previene errores 404 que indican que no se encuentra el archivo generado en producción.
¿Qué pasos seguir para comprobar la carga perezosa en acción?
-
Visualización en Network Tab: Utiliza la pestaña de red en las herramientas de desarrollo para confirmar que el archivo que contiene la lógica del modal solo se carga al hacer clic en el botón, y no antes.
-
Verificación en el entorno de desarrollo: Ejecuta el servidor de desarrollo y verifica que los cambios aplicados funcionan correctamente y que los archivos están optimizadamente divididos.
-
Prueba en producción: Realiza el build y ejecuta en producción. Verifica que todos los scripts necesarios se cargan solo cuando es necesario y que no hay errores de carga de recursos.
Con estos pasos claros y un enfoque en la optimización, podrás maximizar tanto la eficiencia como la experiencia de usuario en tus aplicaciones web. ¡Continúa explorando técnicas avanzadas para manejar eficazmente las interacciones en tus proyectos web!