8. 플러그인의 도입
웹팩에는 두 가지 형태의 확장기능이 있다.
1) loader : 가지고 있는 asset을 최종 output으로 만드는 과정에서 사용됨
2) plugin : 최종 결과물을 변환한다. loader보다 더 복합적이며, 더 자유로운 일을 많이 할 수 있다.
플러그인은 플러그인마다 사용방법이 제각각 다르다.
예제로 사용할 플러그인은 HtmlWebpackPlugin
Installation
npm install --save-dev html-webpack-plugin
사용하기
webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');
module.exports = {
mode:"development",
entry:{
index: "./source/index.js",
about: "./source/about.js"
},
output:{
path:path.resolve(__dirname, "public"),
filename:'[name]_bundle.js'
},
module: {
rules: [
{
test: /\.css$/i,
use: ['style-loader', 'css-loader'],
},
],
},
plugins: [
new HtmlWebpackPlugin({
template:'./source/index.html',
filename:'./index.html',
chunks:['index']
}),
new HtmlWebpackPlugin({
template:'./source/about.html',
filename:'./about.html',
chunks:['about']
})
],
};
npm install --save-dev html-webpack-plugin
webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');
module.exports = {
mode:"development",
entry:{
index: "./source/index.js",
about: "./source/about.js"
},
output:{
path:path.resolve(__dirname, "public"),
filename:'[name]_bundle.js'
},
module: {
rules: [
{
test: /\.css$/i,
use: ['style-loader', 'css-loader'],
},
],
},
plugins: [
new HtmlWebpackPlugin({
template:'./source/index.html',
filename:'./index.html',
chunks:['index']
}),
new HtmlWebpackPlugin({
template:'./source/about.html',
filename:'./about.html',
chunks:['about']
})
],
};
✨참고
1) https://webpack.kr/plugins/
2) https://webpack.kr/plugins/html-webpack-plugin
3) https://github.com/jantimon/html-webpack-plugin
4) https://www.youtube.com/watch?v=FlpRJ9iXYZg&list=PLuHgQVnccGMChcT9IKopFDoAIoTA-03DA&index=8
Author And Source
이 문제에 관하여(8. 플러그인의 도입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@minbok/8.-플러그인의-도입저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)