🐉
【webpack】別ファイルとしてCSSを読み込む【MiniCssExtractPlugin】
作成日:
2022/01/01
2
mini-css-extract-pluginをインストール
npm install --save-dev mini-css-extarct-plugin
package.jsonを確認
{
"scripts": {
"build": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"css-loader": "^6.5.1",
"mini-css-extract-plugin": "^2.4.5", //← 追加されている
"style-loader": "^3.3.1",
"webpack": "^5.65.0",
"webpack-cli": "^4.9.1"
}
}
webpack-config.jsに設定を追加
//ここから追加
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
//ここまで追加
module.exports = {
entry: './src/index.js',
output: {
path: `${__dirname}/dist`,
filename: 'bundle.js'
},
mode: 'development',
module: {
rules: [
{
test: /\.css/,
use: [
{
//ここから変更(style-loaderから変更)
loader: MiniCssExtractPlugin.loader
},
{
//CSSを読み込む
loader: 'css-loader'
}
]
}
]
},
//ここから追加
plugins: [
new MiniCssExtractPlugin()
]
//ここまで追加
}
※loaderは下から読み込むので記述順に注意
※大文字、小文字を間違えるだけでもエラーが出る
webpackを起動
npm run build
main.cssファイルが新たに追加されている。
webpack-tutorial
├dist/
| ├──bundle.js
| ├──index.html
| ├──main.css
| └──main.js
|
├node_modules/
├src/
| ├──index.js
| ├──style.css
| └──sub.js
|
├package-lock.json
├package.json
└webpack.config.js
index.htmlにmain.cssを読み込ませる
build成功も、main.cssはまだHTMLに読み込まれていない。
追加する。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./main.css">
</head>
<body>
<h1>webpackチュートリアル</h1>
<script src="./bundle.js"></script>
</body>
</html>
これで適用されたのを確認できる。
事業会社にてコーダーをしています。制作は6年目。
インプットしたことをアウトプットしています。