Create React App(CRA)란
- React 프로젝트를 손쉽게 생성할 수 있도록 도와주는 '보일러플레이트(Boierplate)'
- 수많은 React용 보일러플레이트가 있지만 메타(이전의 페이스북)에서 직접 만들어서 관리하는 Create React App이 가장 많이 쓰임
- 프로젝트 생성에 필요한 다양한 기능을 Command로 제공함
node_modules
: 프로젝트에 필요한 Package File Listpackage.json
: 프로젝트의 상세 내용을 기록해 둔 명세서.gitignore
: git으로 관리하지 않을 파일들을 설정index.html
: 프로젝트의 첫 페이지. 즉, 사용자가 보게되는 html의 Entrypointindex.js
: html과 React Component를 연결해주는 중간다리로 JS의 EntrypointApp.js
: 실제 화면에 보여지는 내용을 작성하는 Component 파일import
한다.export
를 한다.Babel 내장되어 있음
- Babel
: JavaScript 코드를 변환하는 데 널리 사용되는 도구이다. 주로 최신 JavaScript (ES6 이상)를 오래된 버전의 JavaScript (ES5)로 변환하는 데 사용된다. 이를 통해 최신 문법과 기능을 사용한 코드가 구형 브라우저에서도 작동할 수 있게 한다.
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">...</script>
babel cdn을 불러오고, type으로 'text/babel'을 넣는다.
Webpack
: 모듈 번들러로, 주로 웹 애플리케이션의 자산(JavaScript 파일, CSS, 이미지 등)을 번들링 하는데 사용된다. 번들링은 여러 파일을 하나의 파일로 결합하는 과정을 의미한다.Create React App으로 React 프로젝트 시작 시 Node.js 개발 환경을 제공하므로 Node.js와 NPM에 대해서도 알아둘 필요가 있다.
Node.js
- 주로 서버 프로그래밍에 사용되는 JavaScript 기반의 소프트웨어 플랫폼
- 프론트엔드 개발자의 접근성이 높음
- HTTP 통신 관련 라이브러리 내장
- NPM을 통한 방대한 라이브러리 제공
- Create React App으로 프로젝트 생성 시 개발 환경 및 테스트 서버로 이용됨
NPM(Node Package Manager)
- Node.js 환경에서 사용하는 각종 패키지들을 관리하는 저장소
- Node.js 설치 시 함께 설치됨
- 패키지 관리 뿐만 아니라 서버 실행 및 관리에 필요한 다양하고 편리한 명령어를 제공
- React 관련 모듈들을 NPM에서 배포함