[React] html-webpack-plugin?

2022. 3. 23. 23:38·React/실험실
반응형

0. 들어가면서

Webpack과 Babel을 사용한 프로젝트에서 html-webpack-plugin은 webpack이 html 파일을 읽어서 로드할 수 있도록 

도와준다고 했다. 

 

근데 이게 무슨 말일까? 

 

여기서부터 시작된 의문이 ' 과연 이게 진짜 해당 기능을 하는 걸까? ', ' 사실 더 어썸 한 기능이 있는 것은 아닐까? ', 

' 아에 다른 기능인가? ', ' 쓸모없는 기능일까? ' 등 별에 별 의문이 생겨서 한번 알아보게 되었다. 

 

1. html-webpack-plugin ? 

Custom Html

html-webpack-plugin은 webpack 번들을 제공하는 HTML 파일 생성을 단순화시켜준다. 

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {

  ...

  module: {
  
  ...
  
  plugins: [
    new HtmlWebpackPlugin(),
  ],
};

HtmlWebpackPlugin() 함수에 아무것도 주지 않게 될 경우 build 시 생성되는 index.html에는 

위와 같이 만들어진다. 

 

하지만 우리가 프로젝트를 build할 때, 예를 들어 특정 meta tag를 넣어야 한다. 혹은 favicon을 지정해야 한다. 또는 

title을 임의로 지정해야할 경우가 생길 수 있다.

 

  plugins: [
    new HtmlWebpackPlugin({
      template: "./public/index.html",
      title: "Test Title",
      meta: {
        "X-UA-Compatible": {
          "http-equiv": "X-UA-Compatible",
          content: "IE=edge",
        },
      },
      favicon: `favicon.svg`,
    }),
  ],

이 경우에 위와 같이 추가로 meta, title, favicon 등 옵션을 사용해서 index.html 파일에 넣어줄 수 있다. 

 

Code Splitting 

그 외에도 Code Splitting에서도 사용된다. 

이 경우에는 추후에 Webpack Code Splitting 공부할 때 추가로 정리하겠다.

 

반응형
저작자표시 비영리 변경금지

'React > 실험실' 카테고리의 다른 글

[React] Babel  (2) 2022.04.04
[React] Webpack 환경에서 환경변수 사용  (1) 2022.03.29
[React] Code Splitting  (1) 2022.03.24
[React] webpack 과 babel로 프로젝트에 폰트 파일 적용하기  (0) 2022.03.22
[React] webpack 과 babel로 프로젝트  (1) 2022.03.16
'React/실험실' 카테고리의 다른 글
  • [React] Webpack 환경에서 환경변수 사용
  • [React] Code Splitting
  • [React] webpack 과 babel로 프로젝트에 폰트 파일 적용하기
  • [React] webpack 과 babel로 프로젝트
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    Node.js
    타일러영어
    javascript
    webpack
    리얼클래스
    typescript
    ReactNative
    Docker
    덤프
    react
    프로그래머스
    redux
    Babel
    바질
    영어회화
    바질 키우기
    CSS
    네트워크
    next.js
    자바스크립트
    식물
    CCNA
    다이소
    영어독학
    네이버 부스트캠프
    타입스크립트
    알고리즘
    ChatGPT
    리액트
    리얼학습일기
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[React] html-webpack-plugin?
상단으로

티스토리툴바