[javascript] Webpack으로 이미지 최적화하기

이미지는 웹 개발에서 중요한 자원 중 하나입니다. 그러나 많은 이미지를 사용하면 웹 페이지의 성능에 영향을 미칠 수 있습니다. 이미지 최적화는 이미지의 용량을 줄이고 로딩 시간을 단축하여 웹 페이지의 성능을 향상시키는 중요한 단계입니다. 이번 게시물에서는 Webpack을 사용하여 이미지를 최적화하는 방법을 알아보겠습니다.

1. Webpack 설치

Webpack을 사용하기 위해 먼저 npm을 사용하여 Webpack을 설치해야 합니다. 아래의 명령어를 사용하여 Webpack을 전역으로 설치할 수 있습니다.

npm install -g webpack

2. 이미지 로더 설치

Webpack에서 이미지를 최적화하려면 이미지 로더를 사용해야 합니다. 가장 널리 사용되는 이미지 로더는 file-loaderimage-webpack-loader입니다. 먼저 이 두 가지 로더를 설치하기 위해 아래의 명령어를 실행합니다.

npm install file-loader image-webpack-loader

3. Webpack 설정 파일 수정

Webpack 설정 파일(webpack.config.js)을 열어 이미지 최적화를 위한 로더를 추가해야 합니다. 다음 예제는 file-loaderimage-webpack-loader를 사용하여 이미지를 최적화하는 예시입니다.

module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.(png|jpg|jpeg|gif|svg)$/,
        use: [
          {
            loader: 'file-loader',
            options: {
              name: '[name].[ext]',
              outputPath: 'images/'
            }
          },
          {
            loader: 'image-webpack-loader',
            options: {
              mozjpeg: {
                progressive: true,
                quality: 65
              },
              optipng: {
                enabled: false
              },
              pngquant: {
                quality: [0.65, 0.90],
                speed: 4
              },
              gifsicle: {
                interlaced: false
              },
              webp: {
                quality: 75
              }
            }
          }
        ],
      },
    ],
  },
  // ...
};

이 예제에서는 test 속성을 사용하여 이미지 파일을 판별하고, file-loader로 이미지를 로드한 후, image-webpack-loader를 통해 최적화를 수행합니다. 최적화 옵션들은 필요에 따라 수정할 수 있습니다.

4. Webpack 빌드 실행

이제 이미지 최적화를 위해 Webpack 빌드를 실행할 차례입니다. 아래의 명령어를 실행하여 Webpack 빌드를 수행합니다.

webpack

이미지 최적화가 완료되면 결과물을 확인할 수 있습니다. 이미지 파일은 outputPath로 지정한 디렉토리에 저장됩니다.

5. 결과 확인

이미지 최적화가 제대로 이루어졌는지 확인하기 위해 웹 페이지를 로드하고 개발자 도구에서 네트워크 탭을 확인합니다. 이미지의 크기와 로딩 시간이 감소했는지 확인할 수 있습니다.

이제 Webpack을 사용하여 이미지를 최적화하는 방법을 알아보았습니다. 이미지 최적화를 통해 웹 페이지의 성능을 향상시킬 수 있으므로, 프로젝트에서 이 기술을 적용해 보세요!

참고 자료