node.js 프로젝트 구조

hihanhee·2021년 5월 30일
0

Node.js 프로젝트 구조의 다섯가지 규칙

1. 파일은 역할이 아닌 기능별로 구성한다.

아래와 같은 구조를 가진 프로젝트가 있다고 가정해보자.

이런 접근은 다음과 같은 문제를 야기한다.

  • ‘product’ 페이지가 동작하는 방식을 이해하기 위해, 세 건의 디렉토리를 번갈아가며 열어봐야 한다.
  • 모듈을 불러와야 할 때 require('../../controllers/user.js')와 같이 긴 경로를 입력해야 한다.
이런 문제를 피하기 위해, 기능별로 파일을 그룹화해서 관리하면 훨씬 이해하기 쉬워진다.

2. index.js 파일 안에 로직 구현은 지양한다.

아래 코드처럼 기능을 export하는 용도로 사용한다.

// product/index.js
var product = require('./product')

module.exports = {
  create: product.create
}

3. test 코드는 구현 코드 옆에 위치한다.

테스트는 단지 모듈들이 기대하는 결과를 출력하는지 확인하는 도구가 아니라 모듈을 문서화하는 파일 중 하나이다. 이런 이유로 테스트 코드는 구현 코드 옆에 위치하는 것이 바람직하다.

  • 역자 주: 아래 구조를 보면 user.spec.js라고 테스크 코드를 표현했는데, 기능을 명세(Specification)하는 의미로 spec을 붙인 것 같다.

추가적인 테스트 코드가 필요한 경우, 별도의 test 디렉토리를 생성해서 관리한다.

4. config 디렉토리를 이용한다.

프로젝트 구성정보를 관리하기 위해, config 디렉토리를 생성해서 하위에 관리한다.

5. scripts 디렉토리로 긴 npm 스크립트 파일을 관리한다.

별도의 디렉토리를 만들어서 package.json의 스크립트들을 관리한다.

profile
안녕하세요:)

0개의 댓글