¿Cómo optimizar multiples imágenes para la web rápidamente?

BLOG

scripts

nodejs

js

optimizar imagenes

batch

Esta es la forma de optimizar rápidamente muchas imágenes

Para mi lo que mejor me funciona para procesar muchas imagenes en batch de forma comoda es un simple script. Basta con copiar este script en el directorio

El script depende de 3 librerias, que podemos instalar con yarn o npm

yarn add path
yarn add fs
yarn add jimp

Todo lo que hace falta es copiar este script dentro de un directorio de imágenes y lanzarlo.

node script.js

El script procesara todas las imagenes del directorio

  • cambiando formato a jpg
  • redimensionando a altura 600px
  • calidad 70
  • normalizando los nombres

SCRIPT:

const path = require('path');
const fs = require('fs');
const Jimp = require('jimp');
const directoryPath = path.join(__dirname, '.');

fs.readdir(directoryPath, (err, files) => {
  if (err) {
    return console.log('Unable to scan directory: ' + err);
  }
  files.forEach(file => {
    if (!file.match(/.*(jpg|jpeg|png)$/)) {
      return console.log('SKIPPING: ', file);
    }

    console.log('PROCESSING: ', file);
    const finalFile = file
      .replace(/ /g, '-')
      .replace(/\.png$/, '.jpg')
      .toLowerCase();

    Jimp.read(file)
      .then(f => {
        return (
          f
            .resize(Jimp.AUTO, 600) // resize
            .quality(70) // set JPEG quality
            // .greyscale() // set greyscale
            .write(finalFile) // save
        );
      })
      .then(() => console.log('READY => ', finalFile))
      .catch(err => console.error(err));
  });
});

Feliz optimización de imágenes! ✨

BLOG

scripts

nodejs

js

optimizar imagenes

batch

Jakub Michal Zawada vive y trabaja remotamente desde Tenerife (Islas Canarias) en desarrollo de aplicaciones y páginas web. En ratos libres practica🧘🏼‍♂️🏄🏼‍♂️🌊 Puedes seguirle en


FeedYourWeb utiliza cookies.Política de privacidadTérminos y condiciones𝖷