[javascript] Webpack에서 Loader의 역할과 사용법

Webpack은 모던 자바스크립트 애플리케이션의 모듈 번들링을 처리하기 위한 도구입니다. 이를 통해 여러 개의 파일을 하나의 번들 파일로 결합하여 웹 애플리케이션을 로딩할 수 있습니다.

하지만, 때때로 웹 애플리케이션에서 자바스크립트 파일 뿐만 아니라 다른 유형의 파일(예: 스타일시트, 이미지, 폰트 등)을 사용해야 할 때가 있습니다. 이러한 파일들을 웹팩에서 처리하기 위해서는 Loader를 사용해야 합니다.

Loader란?

Loader는 웹팩에서 파일을 해석하고 변환하는 역할을 수행하는 모듈입니다. 로더는 import나 require 문을 통해 웹팩의 설정 파일에서 지정하며, 파일의 확장자를 기준으로 사용됩니다. 각 Loader는 파일을 로드하기 전에 전처리 작업을 수행하거나 특정 파일 형식을 다른 형식으로 변환 등 다양한 작업을 수행할 수 있습니다.

Loader 사용법

Loader를 사용하기 위해서는 웹팩 설정 파일에 해당 Loader를 추가해야 합니다. 아래는 Loader를 사용하는 간단한 예시입니다.

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'style-loader',
          'css-loader',
        ],
      },
      {
        test: /\.(png|svg|jpg|gif)$/,
        use: [
          'file-loader',
        ],
      },
    ],
  },
};

위의 예시에서는 CSS 파일을 로드하기 위해 ‘style-loader’와 ‘css-loader’를 사용하고, 이미지 파일을 로드하기 위해 ‘file-loader’를 사용하고 있습니다. 각 Loader의 역할은 다음과 같습니다.

Loader 확장

Loader는 추가 기능을 제공하기 위해 확장될 수 있습니다. 다양한 Loader들을 사용해 자신의 프로젝트에 적합한 형태로 웹팩을 설정할 수 있습니다. 웹팩 공식 문서나 각 Loader의 GitHub 페이지를 참고하여 더 자세한 사용법을 알아볼 수 있습니다.

마무리

Loader는 웹팩에서 파일을 해석하고 변환하는 중요한 역할을 수행하는 도구입니다. 다양한 Loader들을 사용하여 웹 애플리케이션에서 필요한 다양한 파일 형식을 쉽게 처리할 수 있습니다.