[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)
  • 태그

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

티스토리툴바