웹팩은 오픈 소스 자바스크립트 모듈 번들러로, 자바스크립트 애플리케이션을 구축하는 방식을 현저히 변화시켰다. 웹팩이 정확히 어떤 일을 하는지 살펴보겠다.
require()
와 import
문을 사용하여 다른 자바스크립트 파일 또는 JSON, CSS와 같은 다른 유형의 파일을 통합할 수 있다.웹팩은 npm(Node Package Manager)을 통해 쉽게 설치할 수 있다. 먼저 Node.js와 npm이 설치되어 있는지 확인해보자.
// 설치 명령어
npm install --save-dev webpack
웹팩은 주로 두 가지 핵심 구성 요소인 엔트리(Entry)와 출력(Output)을 통해 작동한다.
엔트리 포인트는 웹팩에게 번들링을 시작할 위치를 알려주고 종속성 그래프를 따라가며 어떤 모듈을 번들할지 결정한다.
// webpack.config.js
module.exports = {
entry: './path/to/my/entry/file.js'
};
출력 속성은 웹팩에게 번들을 생성한 후 어디에 출력할지와 이 파일들을 어떻게 이름짓는지 지시한다.
// webpack.config.js
const path = require('path');
module.exports = {
entry: './path/to/my/entry/file.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'my-first-webpack.bundle.js'
}
};
프로젝트에서 웹팩을 사용하느냐 아니냐의 차이는 프로젝트의 복잡성에 따라 다르다. 단순한 프로젝트의 경우 웹팩과 같은 도구를 사용하는 것은 지나칠 수 있다. HTML 파일에서 스크립트 태그를 포함시키고 종속성을 수동으로 관리할 수 있다. 그러나 애플리케이션이 커지고 다양한 종속성을 가진 스크립트가 생기면 이는 관리하기 힘들어진다.
웹팩이나 비슷한 도구를 사용하지 않으면 종속성과 로드 순서를 수동으로 관리해야 하므로 번거롭고 실수하기 쉽다. 현대적인 자바스크립트, CSS 전처리기 및 기타 편의 기능을 사용하기 위해 로더의 이점을 활용할 수 없다. 또한 코드 압축과 트리 쉐이킹과 같은 최적화 기능을 사용할 수 없어 브라우저에서 스크립트의 로드 및 구문 분석 시간을 크게 줄일 수 없다.
따라서 많은 종속성이 있는 대규모 프로젝트의 경우 웹팩과 같은 모듈 번들러를 사용하면 많은 시간과 노력을 절약할 수 있으며 더욱 최적화되고 관리 가능한 코드베이스를 구축할 수 있다.
Private NPM Registry의 필요성과 Verdaccio로 구축하는 방법 |
---|
Webpack 설치 방법과 기본 사용 방법 |
Node.js에서 JSON 파일 로딩하는 방법 |
이미지 최적화: Node.js에서 PNG, JPG등을 WebP로 변환 및 압축 |
CloneCoding
한 줄의 코드에서 시작되는 혁신!