리액트로 새로 작업을 할 때 npx create-react-app 폴더명또는 yarn create-react-app 폴더명 명령어를 사용해서 시작을 하는데,
이 명령어를 입력하면 리액트로 작업을 하기위한 준비를 자동으로 해준다. 자동으로 실행되는 과정과 원리를 알아보고 이해하려고 강의를 듣고 정리해본다.
1. package.json 설치
npm init
2. 리액트 돔 설치
npm i react react-dom
3. 웹팩설치(리액트 할때 필요한 웹팩, 웹팩cil를 설치해줌
npm i -D webpack webpack-cli
이 과정까지 하고 package.json에 들어가보면 잘 설치된걸 확인 할 수 있다.

dependencies에는 실제 서비스에서 쓰이는 것들이 기록되고, 개발에만 쓰이는 것들은 devDependencies에 기록된다.
이제 설치된 폴더에 webpack.config.js 파일을 생성한다. 파일 안에 아래 사진에 있는 걸 입력해준다.

리액트는 app.js에 여러개의 컴포넌트들을 모두 합산해서 넣어줘야 작동하는 원리이다. 그렇게 하기 위해서
entry에 합쳐야 하는 파일들을 넣으면 모든 파일을 합산해서 하나의 아웃풋으로 만들어 주면, 출력할 수 있는 형태가 된다.
같은 폴더에 client.jsx 파일을 생성해주고 입력해준다. 불러오고 싶은 컴포넌트도 추가로 써줬음!

기본 index.html 파일도 셋팅해준다.

앞서 설치해 줬던 package.json에 바벨을 추가 해줘야 한다. (바벨 추가 명령어 생략)
바벨이란, 코드 변환기라고 할 수 있다. 세상에는 다양한 브라우저를 사용하는 사람들이 많고 때로는 새로운 문법이 추가 될 경우가 있다. 그때마다 적합한 문법으로 변환해주는 역할을 해준다.

@babel core : 기본바벨로, 최신 문법을 적용시켜줌
@babel/preset-env : 각자의 환경에 맞게 변환
@babel/preset-react : jsx문법으로 변환
@babel-loader: 바벨이랑 웹팩을 연결해주는 역할
정리해보면, create-react-app을 하면,
- 자동으로 entry에 합산해야할 여러 파일들을 모음
- entry내용을 읽음
- module을 적용
- 합산된 파일 app.js로 최종 결과를 얻을 수 있음
create-react-app을 사용하면 이 과정을 모르고 쓸텐데 한번 짚고 넘어가니까 리액트의 구동원리를 알고 갈 수 있었다.
'React' 카테고리의 다른 글
| [React] 소셜로그인 구현하기(with. Firebase) (0) | 2022.01.18 |
|---|---|
| [React] 리액트에서 폰트어썸 사용하기 (0) | 2022.01.04 |
| [React] 리액트에서 map함수 사용하기 (2) | 2021.11.11 |
| [React] 함수형 컴포넌트 vs 클래스형 컴포넌트 비교(2) (2) | 2021.11.10 |
| [React]함수형 컴포넌트 vs 클래스형 컴포넌트 비교(1) (0) | 2021.11.10 |