🦋 번들
- 여러제품,코드,프로그램을 묶어서 패키지로 제공하는 행위
- 프론트엔드에서 번들 : 사용자에게 웹 애플리케이션을 제공하기위한 파일묶음
- 번들링의 필요성 : 두개의 js에서 변수충돌, 번들파일사이즈를 줄여야함
🦋 웹팩
- 어플 배포를 위해 가장 많이 사용하는 번들러
- 여러개의 파일을 하나의 파일로 합쳐주는 모듈 번들러
- 모듈 번들러의 등장 : js코드양이 증가, 세분화 모듈파일이 증가했다. 모듈단위의 파일
- 웹팩에서의 모듈은 js외에도 png등등 다양한 파일을 번들링함
- 웹팩의 필요성 : 웹 어플의 빠른 로딩속도와 높은 성능을 위해서
- 웹팩이 있으면 같은타입파일은 묶어서 요청,응답 받을수있어 네트워크 코스트가 획기적으로 줄어듬
- 웹팩리더를 사용하면 ES6문법 안지원하는 브라우저에 ES5 문법 변환하는 babel-loader를 사용할 수 있게됨
웹팩의 핵심 개념
- 웹팩 핵심개념
- Entry
- Output
- Loaders
- Plugins
- Mode
- Browser Compatibility
웹팩의 config 파일 예시
module.exports = {
target: ["web", "es5"],
entry: "./src/script.js",
output: {
path: path.resolve(__dirname, "docs"),
filename: "app.bundle.js",
clean: true
},
module: {
rules: [
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, "css-loader"],
exclude: /node_modules/,
},
],
},
plugins: [
new HtmlWebpackPlugin({
template: path.resolve(__dirname, "src", "index.html"),
}),
new MiniCssExtractPlugin(),
],
optimization: {
minimizer: [
new CssMinimizerPlugin(),
]
}
};