Plugin 사용
개인적인 Webpack 학습 및 공부 내용을 기록하기 위한 포스트입니다.
1. 플로그인 설정
우리는 다양한 플러그인들을 다양한 방법으로 개발에 사용하고 있다.
대부분의 플러그인들은 우리가 하는 개발을 조금 더 편하게하고 기본기능은 보존한채 추가적인 방향으로 바꿔서 편리하게 사용할 수 있게 하고 있다
이처럼 플러그인을 사용하는 방법도 알아두면 좋을것 같다.
이전에 modules 에서 loader 를 사용하여 css, style loader 를 직접 사용하는 방법 대신 Plugin 을 사용하여 가져와 보았다.
모듈을 사용하려면 아래와 같은 형태로 작성하여야 한다.
var path = require("path");
var MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
mode: "none",
entry: "./index.js",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "dist"),
},
module: {
rules: [
{
test: /\.css$/,
use: [{ loader: MiniCssExtractPlugin.loader }, "css-loader"],
},
],
},
plugins: [new MiniCssExtractPlugin()],
};
플러그인은 결과물의 정보를 변형해서 제공한다.
플러그인을 적용하여 build 를 하게 되면 dist 파일 내 bundle.js 외 추가적으로 main.css 가 build 된 것을 볼 수 있다.
하지만 실행해보면 css 가 적용되지 않는다. 이는 html 소스를 보면 이유를 알 수 있다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>hippo 실습</title>
</head>
<body>
<header>
<h3>Webpack 실습</h3>
</header>
<div>
<!-- 웹팩 빌드 결과물이 잘 로딩되면 아래 p 태그의 텍스트 색깔이 파란색으로 표시됨 -->
<p>이 글이 css 내용을 import 하여 파란색 style 이 적용됨</p>
</div>
<!-- 웹팩의 빌드 결과물을 로딩하는 스크립트 -->
<script src="./dist/bundle.js"></script>
</body>
</html>
우리는 bundle.js 를 불러와 로딩하여 css 를 불러오게 하였지만 base.css 가 main.css 로 결과물이 분리가 되었으므로 적용이 되지 않았고 적용하기 위해 link 태그를 이용하여 main.css 를 연결해 주어서 적용할 수 있다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>hippo 실습</title>
<link rel="stylesheet" href="./dist/main.css" />
</head>
<body>
<header>
<h3>Webpack 실습</h3>
</header>
<div>
<!-- 웹팩 빌드 결과물이 잘 로딩되면 아래 p 태그의 텍스트 색깔이 파란색으로 표시됨 -->
<p>이 글이 css 내용을 import 하여 파란색 style 이 적용됨</p>
</div>
<!-- 웹팩의 빌드 결과물을 로딩하는 스크립트 -->
<script src="./dist/bundle.js"></script>
</body>
</html>
이처럼 분리하기 위해 모듈을 사용한다는것이 논점이 아니고 모듈을 사용하게 되면 다양한 방식으로 결과물을 도출할 수 있다 정도로 기억해놓으면 좋을 것 같다.
참고사이트 (Plugin)
https://joshua1988.github.io/webpack-guide/concepts/plugin.html
https://webpack.js.org/plugins/
참고사이트 (Loaders)