2

Imagemin を使用して圧縮した画像のディレクトリがいくつかあります。ビルドにスクリプトを追加して、新しい画像が追加されたときに自動的に圧縮されるようにしたいと考えています。画像がすでに圧縮されているかどうかを確認して、再度圧縮されないようにするにはどうすればよいですか? スクリプトは、現在 mozjpg プラグインと pngquant を使用して純粋に JS で書かれています。

古いイメージを削除したり、新しいディレクトリを手動で作成したりすることなく、これを可能な限り自動化されたソリューションにしたいと考えています。

const imagemin = require('imagemin');
const imageminMozjpeg = require('imagemin-mozjpeg');
const imageminPngquant = require('imagemin-pngquant');


var images = ["15 directories"];

var i;
for (i = 0; i < 14; i++) {
  (async () => {
  	const files = await imagemin([images[i]], {
  		destination: images[i],
  		plugins: [
        imageminMozjpeg({
          quality: 70,
        }),
  		]
  	});

  	console.log(files);
  	//=> [{data: <Buffer 89 50 4e …&gt;, path: 'build/images/foo.jpg'}, …]
  })();

  (async () => {
  	const filesPNG = await imagemin([images[i]], {
  		destination: images[i],
  		plugins: [
        imageminPngquant({ quality: [0.6, 0.7] })
  		]
  	});

  	console.log(filesPNG);
  	//=> [{data: <Buffer 89 50 4e …&gt;, path: 'build/images/foo.jpg'}, …]
  })();
}

4

0 に答える 0