webpack
Node.js
# Node.js 버전 확인
➜ node -v
v20.9.0
# v20.9.0 가 설치되어 있지 않다면
➜ nvm install 20.9.0
# v20.9.0 를 사용하고 있지 않다면
➜ nvm use 20.9.0
# Node.js 버전 다시 확인
➜ node -v
v20.9.0
npm
# npm 버전 확인
➜ npm -v
10.2.1
# 최신 버전 npm 으로 업그레이드
➜ npm i [email protected] -g
# npm 버전 다시 확인
➜ npm -v
10.2.1
pnpm
# pnpm 설치 확인 및 버전 확인
➜ pnpm -v
8.10.0
# 최신 버전 pnpm 으로 업그레이드
➜ npm i [email protected] -g
# pnpm 설치 다시 확인 및 버전 다시 확인
➜ pnpm -v
8.10.0
프로젝트 생성
➜ mkdir webpack-example
➜ cd webpack-example
➜ pnpm init
➜ corepack use [email protected]
➜ code .
설정 파일 없이 번들링
➜ pnpm add webpack webpack-cli -D
// src/index.js
function component() {
const element = document.createElement("div");
element.innerHTML = "hello, webpack";
return element;
}
document.body.appendChild(component());
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>webpack-example</title>
</head>
<body>
<script src="main.js"></script>
</body>
</html>
➜ pnpm exec webpack
➜ pnpx serve dist
의존성 추가
➜ pnpm add lodash
// const _ = require("lodash");
import _ from "lodash";
const component = () => {
const element = document.createElement("div");
element.innerHTML = _.join(["hello", "webpack"], ", ");
return element;
};
document.body.appendChild(component());
➜ pnpm exec webpack
➜ pnpx serve dist
설정 파일을 이용한 번들링
// webpack-example/webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'), // 절대 경로
},
};