gulp-imagemin, gulp-pngquant
상황
현재 gulp 탬플릿에는 이미지 최적화 라이브러리로 두 가지가 사용되고 있다.
- gulp-imagemin
- gulp-pngquant
하지만 gulp-imagemin
에도 png 이미지를 최적화하는 기능이 들어있다.
이에 의문이 들기 시작했다.
테스트
원본 png 이미지 크기는 20.07kb이다.
- gulp-imagemin 라이브러리 -> optimizationLevel: 5 -> 16.51kb
- gulp-pngquant 라이브러리 -> quality: ‘90’ -> 5.3kb
계속 반복해도 결과는 똑같다.
git에서 파일이 변했다고도 인식하지 않는다.
파일을 다르게 인식한다는 사실은 잘못알고있는 사실 같다.
그냥 최적화된 이미지 파일을 src 폴더로 내보내서 거기에서 온 착각 같다.
결론
lossy VS. lossless image
- 이미지 파일에 손실(lossy)을 주면서 최적화하는 건지,
- 이미지 파일에 손실을 주지 않으면서(lossless) 최적화하는 건지,
의 차이인 것 같다.
gulp-pngquant
라이브러리는 이미지에 손실을 주면서 최적화하는 라이브러리인 것 같다.
그래서 gulp-pngquant
로 하면 이미지 손실이 있는 이슈가 발생했던 것 같다.
때문에 해당 라이브러리는 주간 다운로드 횟수가 600회밖에 안된다. 인기가 없다.
반면, gulp-imagemin
은 이미지에 손실을 주지 않으면서 최적화하기 때문에 인기가 많다.
그리고 주간 다운로드 횟수도 13만회나 된다.
png 최적화도 gulp-imagemin
으로 하는 것이 좋을 거 같다.