¿Cómo optimizar imágenes PNG en tu proyecto con Webpack?
Aprender a optimizar imágenes es esencial para mejorar el rendimiento de tus aplicaciones web. Las imágenes mal optimizadas pueden causar tiempos de carga lentos y una experiencia de usuario deficiente. En esta guía, descubrirás cómo integrar y configurar un plugin en Webpack que te permitirá optimizar las imágenes PNG de manera efectiva.
¿Qué necesitas para empezar?
Para comenzar, asegúrate de tener preparado tu proyecto y sigue los pasos indicados:
Instalación del Plugin: Utilizaremos el image-minimiser-webpack-plugin y imagemin-optiPng.
Esta configuración aplica un nivel de optimización por defecto que es eficiente para imágenes PNG.
¿Cómo comprobar la optimización?
Una vez configurado el plugin, es hora de ponerlo a prueba:
Construcción del proyecto:
Ejecuta tu proyecto para comprobar el funcionamiento de la optimización.
npm run build
Verificación de resultados:
Después de la construcción, verifica el tamaño reducido de tu archivo PNG. Según el ejemplo, una imagen de 25 KB se reduce a 9 KB, optimizando considerablemente el tamaño y proporcionando un mejor rendimiento.
¿Cuándo optimizar las imágenes?
Logos y medios esenciales: Integra imágenes que son fundamentales para tu aplicación como logos o imágenes claves.
Recursos de terceros: Evita optimizar imágenes que ya vienen procesadas desde un servicio CDN.
Rendimiento y experiencia de usuario: Asegura que la navegación en tu aplicación no sea lenta debido a imágenes pesadas.
¿Qué otras imágenes puedes optimizar?
Además de PNG, también puedes optimizar:
SVGs
GIFs
JPGs
Solo necesitas ajustar el plugin y configuraciones específicas para cada formato que uses.
Sigue explorando nuevas formas de optimizar tu aplicación y acompáñame en la siguiente clase, donde trabajaremos con TypeScript y su integración con Webpack, llevando tus proyectos a un nuevo nivel de eficiencia. ¡Cada paso que das hoy te lleva a ser un desarrollador más competente mañana!
En webpack.config.dev.js y luego en webpack.config.js:
constMiniCssExtractPlugin=require('mini-css-extract-plugin');// Debajo de minicssextractplugin o por esta áreaconstImageMinimizerPlugin=require('image-minimizer-webpack-plugin');
Acá estamos solo optimizando imágenes sin pardina .png usando imagemin-optipng, pero si quieremos optimizar otras imagenes pueden instalar estos plugins:
Sin perdida => modo ++Lossless++
.png
npm install imagemin-optipng -D
.jpeg
npm install imagemin-jpegtran -D
.svg
npm install imagemin-svgo -D
.gif
npm install imagemin-gifsicle -D
Con perdida => modo ++Lossy++
.png
npm install imagemin-pngquant -D
.jpeg
npm install imagemin-mozjpeg -D
Para saber mas sobre la optimizacion de imagenes con webpack Optimize Image :D
Tuve que poner esta configuracion para que funcione: