웹팩과 바벨을 이용한 초기 셋팅
선택한 이유: Create-React-App(CRA)는 싱글 페이지 애플리케이션이다. 한번만 리소스를 로딩하는 SPA의 렌더링 방식으로 기본적으로 웹팩 및 바벨 설정 등이 숨겨져 있다. 하지만 사용하지 않는 기능 또한 모두 포함되어 있기에 원치 않는 용량과 패키지가 존재한다.
결론: compile 속도가 빠름, CRA와 비교 시 용량과 패키지 수가 적음.
packages 상세 설명
webpack 개발한 app을 webpack으로 번들링할 수 있도록 허용해주는 역할
webpack-cli command line에서 webpack을 사용 할 수 있도록 도와주는 역할
webpack-dev-server 수동으로 페이지를 새로 고치지 않고도 변경 사항을 볼 수 있도록 웹 페이지를 실시간으로 다시로드하는 데 사용됨
path 말 그대로 경로를 찾는데 사용되는 패키지
html-webpack-plugin 자동으로 html을 wepack으로 묶어지게 도와주는 역할
@babel/core ES6이상의 버전을 ES5로 컴파일하는데 사용
@babel/preset-env 지원하려는 브라우저 매트릭스를 기반으로 사용할 변환 또는 플러그인과 폴리 필 (즉, 기본적으로 지원하지 않는 이전 브라우저에서 최신 기능을 제공)을 결정함
@babel/preset-react React 코드를 ES5로 컴파일하는데 사용
@babel-loader Babel을 사용하여 JavaScript 종속성을 변환하는 Webpack 도우미 (즉, import 문을 필수 항목으로 변환)
style-loader DOM에 스타일을 주입해주는 역할 injects a style tag inside the HTML file.
css-loader 프로젝트에 존재하는 css 파일들을 import 할 수 있게 해주는 역할
image-webpack-loader 프로젝트에 이미지들을 로드할 수 있게 해주는 역할
참고 자료
https://dev.to/deadwing7x/setup-a-react-app-with-webpack-and-babel-4o3k
https://babeljs.io/docs/en/babel-plugin-proposal-class-properties
'리액트' 카테고리의 다른 글
Set up Airbnb Style (0) | 2021.07.05 |
---|---|
Lazy Loading (0) | 2021.06.29 |
2021 변화된 리액트 (0) | 2021.06.16 |
React Router 정리 (0) | 2021.06.15 |
Receives *all* click events (0) | 2021.05.12 |