DrMaemi / blog

1 stars 0 forks source link

[React] 프로젝트 생성과 구조 #165

Open DrMaemi opened 9 months ago

DrMaemi commented 9 months ago

1. 프로젝트 생성

1.1. CRA(Create React App) 방법

공식 홈페이지 https://create-react-app.dev/docs/getting-started/ 에서, React App을 만들기 위해 지원되는 공식적 도구/모듈 이라고 소개하고 있다.

# Run this to use npm
npx create-react-app my-app [--template typescript]
# Or run this to use yarn
yarn create react-app my-app [--template typescript]

npx란.. npm이 패키지들을 저장해두고 버전을 관리하는 매니저라면, npx는 Node Package Executor, 설치한 패키지를 실행(Execute) 하는 런처같은 개념인 듯하다. npm 버전 5.2.0 이상이라면 npm에 내장되어 같이 설치된다.

생성하고 나면 다음과 같은 구조를 가진다.

my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│   ├── favicon.ico
│   ├── index.html
│   ├── logo192.png
│   ├── logo512.png
│   ├── manifest.json
│   └── robots.txt
└── src
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    ├── serviceWorker.js
    └── setupTests.js

1.2. Webpack (수동 생성) - Babel 세팅

여러 개의 나뉜 모듈을 하나로 묶어주는 것을 번들러(Bundler)라고 하는데, 의존성이 있는 것들을 그룹핑을 하는 도구이다. Webpack은 오픈소스 번들러이다. Webpack을 이용해서 리액트 어플리케이션 프로젝트를 생성할 수 있는데, CRA 방식에 비해 번거롭고 잘 사용하지 않는 방법이기 때문에 그냥 용어만 알아두고 넘어갔다. (알아야 할 일이 생길지는 모르겠다.)

2. 프로젝트 구조 분석

2.1. public/

Progressive Web App, PWA 란? HTML, CSS, JS 와 같은 웹 기술로 만든 앱을 말한다. 푸시 알림이나 오프라인 지원 등 네이티브 앱이 제공하는 기능들을 지원할 수 있다. Twitter, Starbucks, Pinterest 등이 PWA를 사용하고 있다.

2.2. src/

3. 이미 작성된 React 프로젝트 clone 후 실행

$ git clone ...
$ cd ${REACT_PROJ_DIR}
$ npm install
$ npm start

A. 참조