Inicio

Optimizar imágenes usando Webpack

Cuando desarrollamos apps, es importante que las imágenes estén optimizadas, para que el sitio tenga mejor performance; utilizando Webpack podemos optimizar imágenes con el módulo image-webpack-loader, para que, cuando el sitio esté en producción, las imágenes pesen menos.

Primero tenemos que tener las imágenes ubicadas en la carpeta src.

instalación

npm install image-webpack-loader

implementación en Webpack

rules: [
  // Primero configuramos donde estará el output de las imagenes
  {
    test: /\.(jpg|png|gif|jpeg)$/,
    use: [
      {
        loader: 'file-loader', // Este módulo debe estar instalado antes
        options: {
          name: '[name].[ext]',
          outputPath: 'img/', // Dentro de la carpeta img
          useRelativePath: true
        },
      },
    ],
  },
  /* 
  Ahora configuramos el módulo image-webpack-loader donde le 
  indicamos en qué calidad (en porcentaje) queremos las imágenes.
  */
  {
    loader: 'image-webpack-loader',
    options: {
      mozjpeg: {
        progressive: true,
        quality: 65
      },
      optipng: {
        enabled: true,
      },
      pngquant: {
        quality: [0.65, 0.90],
        speed: 4
      },
      webp: {
        quality: 75
      }
    }
  }
]

Aquí está la documentación