이제 프론트엔드로 넘어왔다.
React는 JS라이브러리이다(프레임워크가 아님)
이전 virtual DOM의 snapshot을 찍어서 바뀐 부분을 찾는다. 이 과정을 diffing 이라고 부름.
예전에는 리액트 앱 실행을 위해 webpack이나 babel같은 것을 설정하기 위해 엄청나게 많은 시간이 걸렸으나 이제는 CRA를 통해 바로 시작할 수가 있음.
최신 자바스크립트 문법을 지원하지 않는 브라우저들을 위해 최신 자바스크립트 문법을 구형 브라우저에서도 돌릴 수 있도록 ES5로 변환시켜준다.
이제까지 만들었던 폴더들을 server라는 큰 폴더에 다 넣고 client폴더를 만들었다.
그 다음 cd client
로 경로를 이동하고 npx create-react-app .
으로 리액트를 시작하자.
평소에는 아예 쌩 루트폴더에서 npx create-react-app [폴더명]
식으로 리액트를 시작했었는데 이건 또 새롭네.
-g
를 붙이지 않으면 로컬에 다운로드한다는 의미우리가 npm run start
를 이용해서 리액트앱을 구동할 수 있는 이유는 package.json
의 script
의 start
부분 덕이다. 만약 이 start
부분을 "initiate" : "react-scripts start"
이런 식으로 바꾸게 되면 npm run initiate
이렇게 해서 구동을 해야겠지?
webpack에서는 src만 관리하고 public폴더는 관리를 안해준다. 그렇기에 이미지파일과 같은 걸 넣고 싶으면 src에 넣어주어야 webpack이 모아줄 수가 있음.