Webpack 러닝 가이드
  • Webpack 모듈 번들러
  • Web Modules
    • Legacy 모듈 관리
    • ES 모듈 관리
  • Babel
    • Babel JavaScript 컴파일러
    • Babel 독립형 빌드
    • Babel 노드 (Node.js) ✘
    • Babel CLI 구성
    • Babel 플러그인
  • webpack
    • Webpack 개발 환경 구성
      • Webpack 설치
      • Webpack 통합
      • Webpack 구성 파일
      • Webpack 워치
      • Webpack 모드
      • Webpack 별칭 등록
      • Webpack 호환성
      • Webpack 개발 서버
      • Webpack 멀티 페이지 설정
    • Webpack 로더
      • File 로더
      • CSS 로더
      • PostCSS 로더
      • Sass 로더
      • Babel 로더
      • TypeScript 로더
    • Webpack 플러그인
      • 환경 변수 등록
      • 빌드 결과 자동 정리
      • 빌드 결과 자동 주입
      • CSS 파일 개별 추출
      • CSS 파일 크기 최적화
      • CSS 미디어쿼리 스플리팅
      • 이미지 파일 크기 최적화
  • React
    • React App 매뉴얼 구성
      • Webpack 초기 구성
      • Babel 컴파일러 구성
      • CSS 스타일 구성
      • 이미지 구성
      • 환경변수 플러그인
      • HTML 플러그인
      • 최적화 구성
      • 코드 스플리팅
      • 개발 서버
      • 이미지, 폰트 에셋 구성
      • 환경 변수 + HTML 구성
      • 빌드 최적화 구성
      • 빌드 자동 정리 구성
      • 개발 서버 구성
      • 폴리필 구성
Powered by GitBook
On this page
  • 이미지 최적화 플러그인
  • imagemin 플러그인
  • 참고

Was this helpful?

  1. webpack
  2. Webpack 플러그인

이미지 파일 크기 최적화

PreviousCSS 미디어쿼리 스플리팅NextReact App 매뉴얼 구성

Last updated 4 years ago

Was this helpful?

이미지 최적화 플러그인

ImageMinimizerWebpackPlugin 플러그인은 을 사용하여 이미지를 최적화합니다. 플러그인을 적용하려면 패키지를 설치합니다.

npm i image-minimizer-webpack-plugin -D

이미지 최적화는 2가지 모드로 제공됩니다. 최상의 결과를 얻을 수있는 옵션을 살펴보고 적절한 모드로 설정합니다.

모드

설명

무손실 (품질 저하 없음)

손실 (품질 저하 있음)

imagemin 플러그인

✅ 무손실 최적화를 위해 권장되는 imagemin 플러그인

npm i imagemin-gifsicle imagemin-jpegtran imagemin-optipng imagemin-svgo -D

✅ 손실 최적화를 위해 권장되는 imagemin 플러그인

npm i imagemin-gifsicle imagemin-mozjpeg imagemin-pngquant imagemin-svgo -D

, 플러그인은 무손실 또는 손실 모드로 구성 가능합니다.

패키지 및 플러그인을 프로젝트에 설치한 후, Webpack 구성 파일을 열어 플러그인을 설정합니다.

const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin');

module.exports = {
  // 플러그인 설정
  plugins: [
    // 플러그인 인스턴스 생성
    new ImageMinimizerPlugin({
      // 제외 설정
      exclude: /node_modules/,
      // 최적화 옵션
      minimizerOptions: {
        // 사용자 정의 옵션을 사용해 무손실 최적화합니다.
        // 보다 나은 결과를 위해 여러 옵션을 테스트 하여 사용해봅니다.
        plugins: [
          ['gifsicle', { interlaced: true }],
          ['jpegtran', { progressive: true }],
          ['optipng', { optimizationLevel: 5 }],
          ['svgo', { plugins: [{ removeViewBox: false }] }],
        ],
      },
    }),
  ]
}

참고

이미지 최적화를 테스트 할 파일을 준비한 후, 을 실행하면 파일 크기가 465KB 입니다.

을 실행하여 출력한 결과를 살펴보면, 이미지 파일 크기가 234KB로 약 -50.3% 최적화 되었습니다.

imagemin
image-minimizer-webpack-plugin
imagemin-mozjpeg
imagemin-svgo
Lossless
Lossy
번들 명령
빌드 명령
ImageMinimizerWebpackPlugin | webpackwebpack
Logo