번들링 시작하기
1. 새 프로젝트 폴더 만들고 npm 초기화하기
먼저 웹팩 설정을 실습할 새 폴더를 만들어 주세요. Node.js 버전은 가이드를 참고해서 22.14.0 버전으로 설치해 주세요.
mkdir webpack-tutorial프로젝트 폴더로 이동한 뒤 터미널에 다음 명령어를 입력해 npm을 초기화해요
cd webpack-tutorial
npm init -ynpm init -y 명령어는 기본 설정으로 package.json 파일을 자동으로 만들어줘요. package.json 파일은 프로젝트의 정보와 사용 중인 패키지를 기록하는 역할을 해요.
2. 웹팩과 웹팩 CLI 설치하기
웹팩을 실행하려면 두 가지 패키지를 설치해야 해요.
webpack: 웹팩의 핵심 기능을 제공해요.webpack-cli: 터미널에서webpack명령어를 사용할 수 있도록 해줘요.
npm install webpack webpack-cli --save-dev--save-dev 옵션은 이 도구들이 앱 코드가 아니라 개발 도구라는 의미로 설치해요. 설치가 끝나면 node_modules 폴더와 package-lock.json 파일이 생겨요.
개발 도구로 설치하는 것의 의미
라이브러리를 --save-dev 옵션으로 개발 도구로 설치하면, 실제 운영 환경이나 라이브러리 코드로 사용될 때 설치를 건너뜀으로써 설치 시간과 공간을 아낄 수 있어요.
npm install명령어를--production옵션과 함께 실행하거나,NODE_ENV환경 변수가"production"으로 설정되었을 때, devDependencies 에 명시된 패키지들은 설치되지 않아요.- 내가 만든 패키지를 다른 프로젝트에서 다운로드 하더라도, devDependencies에 명시된 패키지들은 함께 설치되지 않아요.
3. 기본 폴더 구조 만들기
아래와 같이 간단한 4개 파일을 만들어 보세요.
// src/utils/add.js
export function add(a, b) {
return a + b;
}// src/utils/subtract.js
export function subtract(a, b) {
return a - b;
}// src/utils/index.js
export { add } from "./add.js";
export { subtract } from "./subtract.js";// src/index.js
import { add } from "./utils/index.js";
console.log(add(1, 2));이때 파일 구조는 다음과 같아요.
webpack-tutorial/
├── src/
│ ├── index.js
│ └── utils/
│ ├── add.js
│ ├── index.js
│ └── subtract.js
├── webpack.config.js
├── package.json
└── node_modules/4. 웹팩 설정 파일 만들기
웹팩을 사용하려면 어떤 파일부터 읽고, 결과를 어디에 저장할지 알려줘야 해요. 이걸 설정하는 파일이 webpack.config.js예요.
프로젝트 루트에 다음처럼 작성해요.
// webpack.config.js
const path = require('path');
module.exports = {
// 웹팩이 시작할 파일 경로예요.
entry: './src/index.js',
// 번들된 결과 파일을 저장할 위치와 파일 이름이에요.
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
// 배포용 설정이에요. 코드 압축이나 최적화를 수행해요.
mode: 'production',
};여기서 중요한 설정 두 가지는 entry와 output이에요. 각 설정에 대한 더 자세한 내용은 링크에서 학습할 수 있어요.
5. npm run build 명령어 등록하기
이제 webpack 명령어를 쉽게 실행할 수 있도록 package.json에 다음과 같은 스크립트를 추가해요.
{
"scripts": {
"build": "webpack"
}
}이제 터미널에서 아래처럼 간단하게 실행할 수 있어요.
npm run build이 명령어는 웹팩을 실행해서 src/index.js부터 시작해 모든 의존 파일을 분석하고, dist/bundle.js로 하나로 묶어요.
6. 웹팩으로 빌드하기
이제 아래 명령어로 실제 번들링을 실행해요.
npm run build그러면 dist 폴더에 bundle.js 파일이 생겨요. 이 파일은 4개 파일의 내용을 합쳐서 최적화된 형태로 만든 거예요. 원래 소스 코드와 동작은 같지만, 훨씬 최적화되었어요. 불필요한 공백이 없고, 사용하지 않는 코드들은 모두 삭제되었어요.
(() => {
"use strict";
console.log(3);
})();이제 폴더 구조는 다음과 같을 거예요.
webpack-tutorial/
├── dist/
│ └── bundle.js # 웹팩이 만든 번들 파일
├── src/
│ ├── index.js
│ └── message.js
├── package.json
├── webpack.config.js
└── node_modules/🎉 축하해요! 웹팩 설정을 성공적으로 마쳤어요. 이제 다음 단계로 넘어가 볼까요?
