[O'REILLY] Node & Express - 4장 : 디렉터리와 버전 관리
1. 파일과 디렉터리 구조
- 프로젝트 경로의 파일 숫자는 가급적 줄이는 편이 좋다.
- 일반적으로 package.json, README.md 디렉터리 이정도
- 소스 코드는 대부분 src에 보관하지만, 간결함을 위해 여기서는 그렇게 하지 않는다.
- 어떻게 디렉터리와 애플리케이션을 설계했는지에 따라 README.md 에 마크다운언어로 기록해두면 좋다.
- 관습적으로 정해진 것들이 있지만, 애플리케이션의 성격에 따라 효율적으로 관리하는게 근본이다.
- App의 DataStructure나 API의 흐름도와는 다를 수도 있다. 다만 그 흐름을 잘 이해할 수 있게 설계하는 것이 중요하다.
나는 이렇게 쓴다.
Root
backend
frontend
2. 버전 관리
- 장점 :
1) 문서화 : 프로젝트의 역사 기록
2) 작성자 : 누가 답을 알고있을까
3) 실험 : 자유로운 실험
- 결론 : 깃쓰자
- 깃활용 :
1) 터미널에 git init
2) .gitignore : 저장소에 추가할 필요가 없는 파일을 기록하는 곳
.gitignore
node_modules
*~
.DS_Store
- 무거운 모듈 제발 깃에 올리지 말자
3) 추가 : git add . (점 까지 쳐야됨)
4) 커밋 : git commit -m '커밋메시지'
5) 깃허브에 푸시 : git push 저장소이름 브랜치이름 (미리 연결이 되어있어야 함)
3. node module
- 노드모듈 : 모듈화와 캡슐화 기능을 제공하는 메커니즘. npm패키지와는 다른 의미
- npm 패키지 : 프로젝트를 저장하고, 버전을 붙이고, 참조하는 표준화된 방법 (모듈에 국한되지 않는다.)
CJS (Common JS) 방식
const express = require('express')
- require는 모듈을 import하는 노드 함수이다.
- 기본적으로 노드는 node_modules 디렉터리에서 모듈을 찾는다.
- node_modules 설치모듈 외에도 fs, http, os, path 등 노드가 제공하는 '코어 모듈' 이 있다.