html, css, javascript만을 사용하다가 jQuery와 같은 메서드 모음이 사용되었다. 하지만 웹이 점차 복잡해짐에 따라 기존 방식으로 유지 보수를 하는데 한계가 있었고, 프론트엔드 프레임워크와 라이브러리를 사용하기 시작했다.
프레임워크는 정해진 틀 안에서 개발하는 것이고, 라이브러리는 코드를 가져와서 내 작업공간에서 개발하는 것이라고 생각하자.
자바스크립트가 브라우저 밖에서도(서버 등) 동작하게 하는 환경이다. 프로젝트를 개발하는데 필요한 바벨, 웹팩 등이 Node.js 기반이기 때문에 필요하다. Node.js를 설치하면 npm이 자동 설치된다.
리액트 프로젝트를 시작하는데 필요한 개발 환경을 세팅해주는 도구
cd Desktop/생성할폴더
npm create-react-app 프로젝트폴더명
cd 프로젝트폴더명
npm start
node_modules : cra를 구성하는 모든 패키지 소스 코드가 존재
package.json : cra 기본 패키지 외 추가로 설치된 라이브러리/패키지 정보가 기록되는 파일
"dependencies : 리액트를 사용하기 위한 모든 패키지 리스트와 버전 확인 가능
새로운 패키지 설치시 : dependencies에 자동 추가 저장되지 않기 때문에 npm으로 설치할 때 --save까지 입력해야함. ex) npm install slider --save
.gitignore : github에 올리고 싶지 않은 폴더와 파일을 작성
ex) node_modules는 heavy해서 github에 올리지 않는다. package.json을 통해 패키지 이름하고 버전만 전달해주면 된다. 다른 팀원이 git clone한 뒤 npm install에서 다운받는다.
<div id="root"></div>
, single page application이기 때문에 리액트에서 html은 단 하나! ReactDOM.render(<App />, document.getElementById("root"))
, 함수의 인자는 두개(보여주고싶은 컴포넌트, 화면에 보여주고 싶은컴포넌트의 위치)