コピペするだけで画像圧縮できるようになる記事です。
https://github.com/RantaroTech/imagemin_gulp
自分で導入する際にgulpやimageminを調べたりして大変だったので非エンジニアでも使えるようにコピペだけで使えるようにまとめました。
brew install nodebrew
brew install yarn
npm init
mkdir src
mkdir dist
touch gulpfile.js
npm install gulp
https://www.npmjs.com/package/gulp-imagemin
npm install --save-dev gulp-imagemin
https://www.npmjs.com/package/imagemin-mozjpeg
npm install imagemin-mozjpeg
https://www.npmjs.com/package/imagemin-pngquant
npm install imagemin-pngquant
ここまで実行するとこのようなディレクトリ構造になっています。
├ gulpfile.js => gulpの設定を行う
├ node_modules => nodeの設定が補完される
├ package-lock.json => nodeのバージョンを表記する
├ package.json => nodeの設定を記述する
└ src => 圧縮前の画像を保管する
const gulp = require('gulp');
const distDir = 'dist';
const srcDir = 'src';
const imagemin = require('gulp-imagemin');
const pngquant = require('imagemin-pngquant');
const mozjpeg = require('imagemin-mozjpeg');
gulp.task('img', () => {
return gulp.src(srcDir + '/*.{png,jpg,gif}')
.pipe(imagemin([
pngquant('65-80'),
mozjpeg({
quality: 85,
progressive: true
}),
imagemin.svgo(),
imagemin.optipng(),
imagemin.gifsicle()
]))
.pipe(gulp.dest(distDir));
});
gulp img
Using gulpfile ~/test_gulp/gulpfile.js
Starting 'img'...
gulp-imagemin: Minified 1 image (saved 25 kB - 67%)
Finished 'img' after 527 ms
67%圧縮できました!
画像容量を6割近く削減することができました。 デザイナーではない素人目ですが画像の劣化などあまり気になりませんでした。
・基本的に gulpfile.js
を変更すれば設定を変更可能です。
・細かい圧縮の設定などを変更したい場合はリンクの公式のオプションを参考にしてみてください。
ここまでお読みいただきありがとうございました。