Node.js 프로젝트 구조의 다섯가지 규칙
이런 접근은 다음과 같은 문제를 야기한다.
아래 코드처럼 기능을 export하는 용도로 사용한다.
// product/index.js
var product = require('./product')
module.exports = {
create: product.create
}
테스트는 단지 모듈들이 기대하는 결과를 출력하는지 확인하는 도구가 아니라 모듈을 문서화하는 파일 중 하나이다. 이런 이유로 테스트 코드는 구현 코드 옆에 위치하는 것이 바람직하다.
추가적인 테스트 코드가 필요한 경우, 별도의 test 디렉토리를 생성해서 관리한다.
프로젝트 구성정보를 관리하기 위해, config 디렉토리를 생성해서 하위에 관리한다.
별도의 디렉토리를 만들어서 package.json의 스크립트들을 관리한다.