💡 웹팩은 한 마디로 모듈 번들러!! 모듈 사이의 의존성을 파악해 하나로 묶어주는 역할을 담당하며, 모듈 지원이 불가한 브라우저에서의 의존성 관리 문제 해결과 개발 생산성을 향상 시켜주는 역할을 해준다.
npm install -D webpack webpack-cli
-D
옵션을 붙여서 devDependencies에 해당 패키지들이 속하도록 해준다."scripts": {
"webpack": "webpack",
}
npm run webpack
// 모드를 설정해 실행하는 방법
npx webpack --mode=production
webpack --config nawon.config.js
자신이 만든 설정 파일이 nawon.config.js
라면, 위와 같이 꼭 해당 파일을 번들링 시 고려해야한다는 명령어를 입력해주어야한다.
기본적으로 webpack.config.js
파일은 위와 같은 작업이 필요없이 설정 파일로 인식하는 것 같다. (이 때문에 많은 사람들이 그냥 webpack.config.js
파일로 이름을 짓나보다.)
// webpack.config.js
const path = require("path");
module.exports = {
entry: "./src/javascript/index.js",
output: {
path: path.resolve(process.cwd(), "dist"),
filename: "[name].[contenthash].js",
},
};
간단하게 일단 2가지 속성만 적용한 설정 파일이다.
entry는 진입점을 나타낸다. 모듈 간 의존성의 시작점이라고 이해하면 된다.
output은 최종 번들링 결과가 저장될 경로와 파일명 등을 설정하는 속성이다.
path.resolve()
는 인자로 넘어온 경로들을 합쳐주는 역할이고, pwd.cwd()
는 현재 프로세스가 실행되고 있는 경로를 나타낸다. 즉, 현재 경로/dist 경로에 번들링이 후 파일을 저장하겠다는 의미인 것이다.
파일명은 해시값을 이용해서 설정했다.
참고 ) dist 폴더는 베포 시에 사용되기 때문에 git으로 관리할 필요 없다! gitignore에 추가해주자!
다음 게시물에서는 웹팩 Loader 설정에 대해 알아보쟈!!
멋있습니다. ~ 웹 개발자라면 웹팩에 대해서 알고 있어야 하는데
어려운 개념 정리 잘하셨네요 ㅎㅎ 🤗