HtmlWebpackPluginì webpack ë²ë¤ì ì ê³µíë HTML íì¼ ìì±ì ë¨ìíí©ëë¤. ì´ íë¬ê·¸ì¸ì ë§¤ë² ì»´íì¼ì ë³ê²½ëë í´ìë¡ ë íì¼ ì´ë¦ì ê°ì§ webpack ë²ë¤ì í¹í ì ì©í©ëë¤. íë¬ê·¸ì¸ì´ HTML íì¼ì ìì±íëë¡ íê±°ë lodash í
í릿ì ì¬ì©íì¬ ëë§ì í
í릿ì ì ê³µíê±°ë ëë§ì ë¡ë를 ì¬ì©í ì ììµëë¤.
npm install --save-dev html-webpack-pluginíë¬ê·¸ì¸ì script í그를 ì¬ì©íì¬ bodyì 모ë webpack ë²ë¤ì í¬í¨íë HTML5 íì¼ì ìì±í©ëë¤.
ì ì©ì ìëì ê°ì´ webpackì íë¬ê·¸ì¸ì ì¶ê°íê¸°ë§ íë©´ ë©ëë¤.
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');
module.exports = {
entry: 'index.js',
output: {
path: path.resolve(__dirname, './dist'),
filename: 'index_bundle.js',
},
plugins: [new HtmlWebpackPlugin()],
};ê·¸ë¬ë©´ ìëì ë´ì©ì í¬í¨íë dist/index.html íì¼ì´ ìì±ë©ëë¤.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>webpack App</title>
</head>
<body>
<script src="index_bundle.js"></script>
</body>
</html>Webpack ìí¸ë¦¬ í¬ì¸í¸ê° ì¬ë¬ ê°ì¸ ê²½ì°, ìì±ë HTMLì 모ë <script> íê·¸ë¡ í¬í¨ë©ëë¤.
ë§ì½ webpack ì¶ë ¥ì CSS ì ì
ì´ ìë¤ë©´(MiniCssExtractPluginì¼ë¡ ì¶ì¶ë CSS ì ê°ì´) ì´ë¤ì ìì±ë HTML íì¼ì <head> ìì ìì <link> íê·¸ë¡ í¬í¨ë©ëë¤.
모ë ì¤ì ìµì ì plugin 문ì를 ì°¸ê³ íì¸ì.
íë¬ê·¸ì¸ì ì¶ê° 기ë¥ì ì§ìí©ëë¤. 목ë¡ì í´ë¹ 문ì를 ì°¸ê³ íì¸ì.