본문 바로가기
더이상 하지 않는 Backend - NodeJS/Node-Express 개론(완)

[O'REILLY] Node & Express - 4장 : 디렉터리와 버전 관리

by VictorMeredith 2023. 3. 10.

 

갓이라고 불러도 되지 않을까

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 등 노드가 제공하는 '코어 모듈' 이 있다.

 

댓글