반응형
Webpack 플러그인의 활용
웹팩 플러그인은 빌드 과정 중에 여러 작업을 수행하거나 번들 결과물을 최적화하는 데 사용됩니다. 이번 글에서는 몇 가지 유용한 웹팩 플러그인과 그 활용법에 대해 알아보겠습니다.
1. HtmlWebpackPlugin
HtmlWebpackPlugin은 HTML 파일을 생성하고 빌드된 번들 파일을 자동으로 삽입해주는 플러그인입니다. 이를 사용하면 빌드된 결과물을 쉽게 확인할 수 있습니다.
설치하기
npm install --save-dev html-webpack-plugin
사용하기
// webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
// ... 다른 설정 ...
plugins: [
new HtmlWebpackPlugin({
template: 'src/index.html',
}),
],
};
2. CleanWebpackPlugin
CleanWebpackPlugin은 빌드 이전 결과물을 자동으로 제거해주는 플러그인입니다. 이를 통해 새로운 빌드에서 이전 파일들과 충돌하는 일을 방지할 수 있습니다.
설치하기
npm install --save-dev clean-webpack-plugin
사용하기
// webpack.config.js
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
// ... 다른 설정 ...
plugins: [
new CleanWebpackPlugin(),
],
};
3. MiniCssExtractPlugin
MiniCssExtractPlugin은 CSS 파일을 별도로 추출하여 번들 결과물에서 분리시키는 플러그인입니다. 이를 통해 브라우저 캐싱을 효과적으로 활용할 수 있습니다.
설치하기
npm install --save-dev mini-css-extract-plugin
사용하기
// webpack.config.js
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
// ... 다른 설정 ...
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
],
},
],
},
plugins: [
new MiniCssExtractPlugin({
filename: 'styles.css',
}),
],
};
위에서는 CSS 파일을 styles.css로 추출하도록 설정하였습니다.
4. DefinePlugin
DefinePlugin은 빌드할 때 전역 상수를 정의해줍니다. 주로 환경변수를 주입할 때 사용합니다.
사용하기
// webpack.config.js
const webpack = require('webpack');
module.exports = {
// ... 다른 설정 ...
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production'),
}),
],
};
위 설정에서는 process.env.NODE_ENV를 프로덕션 모드로 설정하였습니다.
이렇게 몇 가지 유용한 웹팩 플러그인을 사용하여 프로젝트의 빌드 및 번들링 과정을 더욱 효과적으로 관리할 수 있습니다.
반응형
'webpack' 카테고리의 다른 글
24. 실전 예제 프로젝트 - 1 (0) | 2023.12.29 |
---|---|
23. Webpack Dev Server와 핫 모듈 리플레이스먼트(HMR) - 2 (0) | 2023.12.29 |
22. Webpack Dev Server와 핫 모듈 리플레이스먼트(HMR) - 1 (0) | 2023.12.29 |
21. 웹팩의 확장성과 생태계 - 2 (0) | 2023.12.29 |
19. Webpack과 프레임워크 통합 - 2 (2) | 2023.12.25 |
18. Webpack과 프레임워크 통합 - 1 (0) | 2023.12.25 |
17. 환경별 설정 (Development, Production) - 3 (0) | 2023.12.25 |
16. 환경별 설정 (Development, Production) - 2 (0) | 2023.12.25 |