Westagram 팀 프로젝트에 앞서, React CRA 세팅을 재현님, 경민님과 함께 했다.
먼저 한 사람이 초기 세팅을 진행하고, 완료되면 각 팀의 github repository에 push 하고, 팀원들은 push한 주소를 clone해서 각자의 이름을 딴 branch에 초기 세팅을 마치는 과정을 진행하였다.
📍 초기 세팅에서 다양한 이유로 에러가 발생할 수 있다.
따라서 이러한 에러 사항을 팀원들과 함께 해결해 나가는 것이 이번 프로젝트의 목표가 아닐까 하는 생각을 했다 !
- 원하는 directory 이동
- CRA 프로젝트 설치
터미널 명령어에 익숙해지고자 직접 터미널로 파일을 만들어서 설치해봤다..!
✔️ cd
change directory 폴더 이동 cd (경로)
✔️ mkdir
make directory 디렉토리 생성
$ npm install react-router-dom --save
✔️ --save를 해주어야 pakage.json
의 "dependencies"
에 목록이 추가되어 node_modules
가 .gitignore에 들어 있어도 master에서 push된 파일들을 clone을 할 때, 다른 팀원들에게도 적용할 수 있다 ...!
npm install node-sass@4.14.1 --save
✔️ 위와 같은 이유로 sass도 --save
✔️ sass에서 버전을 적어주지 않으니 node.js 와 호환의 문제가 생겨서 다운 그레이드한 버전을 설치하였다.
// .gitignore
.eslintcache
✔️ .eslintcache가 프로젝트 최상위 경로에 자동으로 생성되는 문제를 해결하기 위함이다.
✔️ .eslintcashe 란?
실제 프로젝트가 아닌 하나의 repository에 개인이 작업한 Westagram을 업로드 하는 것이지만, 공통으로 관리할 수 있는 것들에 대하여 찾아내어 효율적으로 팀 프로젝트를 하는 방법에 대하여 배우는 시간이었다.
✔️ 먼저, 개인의 이름으로 된 폴더를 구성하여 서로 작업하는 내용에 대하여 구분 한다.
✔️ 공통으로 적용될 수 있는 Main 페이지의 Nav
를 컴포넌트 요소로 분리하여 팀원들과 함께 사용할 수 있도록 만들었다.
✔️ 이렇게 공통 컴포넌트를 만들면 팀원들은 각자의 Main 페이지에서 Nav
컴포넌트만 가져오면 사용할 수 있는 것이다. 정말 신세계...! 😲
❗️ 컴포넌트를 먼저 Master 에서 만들지 않아도 괜찮다. Nav feature/Nave
브랜치를 따서 관리할 수 있다.
✔️ reset.scss : default css 초기화
✔️ common.scss : 함께 쓰는 공통 css 속성
✔️ variables.scss : sass에서 변수로 적용할 수 있는 스타일 작성
아무래도 각자의 작업한 결과를 공통으로 빼내어 관리해야한다고 하니 조금 걱정이 앞섰다. 하지만 팀원들과 함께 reset, common, 개별 스타일 파일에 넣을 것들을 구분하였다. 또한 @mixin
을 따로 관리하기 위해서 만들어둔 파일이 요긴하게 쓰일 것 같다.
✔️ 하나의 html에서 페이지들을 관리할 것이기 때문에 Routes.js
를 생성하여 Routes 컴포넌트를 만들었다.
✔️ Routes
컴포넌트 안에는, Router
>Switch
>Route
로 감싸여 있고 Route
안에 각자의 컴포넌트를 경로와 함께 지정해 준다.
✔️ 이러한 Routes.js에서 만들어진 Routes
컴포넌트를 index.js에서 렌더하여 연결된 index.html에 그려주는 것이다.
초기 세팅이 완료되면 github에 push !
// add ➡️ commit
git add .
git commit -m "Add: first commit. 초기 세팅 완료."
// 설치한 CRA 프로젝트와 github repo를 연동
git remote add origin (해당 repo 주소 입력)
// 연동된 repository로 push
git push origin master
// remote master에 초기세팅 코드가 merge된다.
// master 는 pull을 하고
git pull origin master
//다른 분들은 clone 받고,
git clone (해당 repo 주소 입력)
// node-modules 폴더 생성(패키지 소스코드 생성)
npm install
// 팀원 모두 각자의 branch 생성
git branch feature/soojeong.lee
멘토님들께서 초기 세팅을 한 후, 세팅이 잘 되었는지 확인해주셨다. 우리 팀이 받은 Feedback은 아래와 같..다.. 7차만에 통과한 우리팀.. 장하다..!
그리고 정말 디테일하게 세팅 파일들 봐주시는 멘토님들.. 존경 🔥
Git + Gitbut + React 세션이 종합선물로 온..! 프로젝트이다. 커리큘럼이 이렇게 유기적으로 연결되다니 신기하기도 하면서 앞으로 기존 html + css + Vanilla JS 를 React로 구현해내는 과정이 순탄치 많은 않을 것이라는 생각이 든다. 그래도 오늘 이 복잡한 과정도 팀원들과 함께여서 해결해나갈 수 있었다. 🙌🏻