368
한 권으로 끝내는 Node & Express
대로 하기 어려워진다는 겁니다. 이렇게 작은 코드 조각들마다 일일히 테스트 스위트를 만들기
는 귀찮으니 피하게 될 겁니다(만든다면, 코드 재사용을 하지 않음으로써 낭비되는 시간이 두
배로 늘어납니다). 같은 일을 하는 코드들마다 서로 다른 버그가 숨어 있습니다. 이건 나쁜 습
관입니다.
노드와 익스프레스에는 이 문제를 방지하는 방법이 들어 있습니다. 노드는 모듈을 통해 네임스
페이스를,
npm
을 통해 패키지를 제공하며, 익스프레스는 커넥트를 통해 미들웨어 개념을 도
입했습니다. 이들 도구를 사용하면 코드를 재사용할 수 있게 만들기가 훨씬 쉽습니다.
22.2.1.
전용
npm
저장소
npm
저장소는 공유 코드를 저장하기 딱 맞는 곳입니다. 사실
npm
은 그 목적으로 만들어진
거니까요. 단순히 저장만 하는 게 아니라 버전 관리도 가능하고, 패키지를 다른 프로젝트에서
쓰기 간편하게 하는 방법도 제공합니다.
옥에 티도 있긴 합니다. 완벽한 오픈 소스 기업에서 일하는 게 아니라면 재사용할 수 있는 코드
를 모두
npm
패키지로 만들면 안 됩니다. 지적 재산권 보호 외에 다른 이유도 있습니다. 패키
지가 특정 기업이나 프로젝트 전용이라면 공용 저장소에 둘 이유가 없으니까요.
한 가지 방법은 전용
npm
저장소입니다. 전용
npm
저장소 설정은 어렵기는 하지만 불가능한
건 아닙니다.
고유한 전용 저장소를 만드는 데 가장 큰 걸림돌은 현재
npm
이 여러 저장소에서 풀
pull
하는 것
을 허용하지 않는다는 점