- loader : 모듈을 최종적인 output으로 만들어가는 과정에서 사용하는 것
- plugin : 그렇게 만들어진 최종적인 것을 변형하는 것 (복잡적, 자유로움)
어떤 대상을 자동으로 생성하고 싶을 때
npm install --save-dev html-webpack-plugin
명령어 실행
index.html과 subindex.html을 source로 이동 및 코드 수정
index.html
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div id="root"></div>
<a href="subindex.html">index</a>
</body>
</html>
subindex.html
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div id="root"></div>
<a href="index.html">subindex</a>
</body>
</html>
const HtmlWebpackPlugin = require('html-webpack-plugin');
코드추가- 아래 코드를 추가
npx webpack
명령어 실행
plugins : [
new HtmlWebpackPlugin({
template:'./source/index.html',
filename:'./index.html',
chunks:['index']
}),
new HtmlWebpackPlugin({
template:'./source/subindex.html',
filename:'./subindex.html',
chunks:['subindex']
})
]
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
mode:"development",
entry : {
index : "./source/index.js",
subindex :"./source/subindex.js"
},
output : {
path:path.resolve(__dirname,"public"),
filename : '[name]_bundle.js'
},
module:{
rules:[
{
test:/\.css$/,
use:[
'style-loader',
'css-loader'
]
}
]
},
plugins : [
new HtmlWebpackPlugin({
template:'./source/index.html',
filename:'./index.html',
chunks:['index']
}),
new HtmlWebpackPlugin({
template:'./source/subindex.html',
filename:'./subindex.html',
chunks:['subindex']
})
]
}
필요한 파일을 plugin와 명령어에 의해 각각의 html과 js를 생성할 수 있다.