nest.js에서는 nest cli를 사용해서 module을 생성할 수 있습니다.
예를들어 payments module을 만들고 싶다면, 예상되는 tree는 아래와 같을 것입니다.
../src
./payments
├── payments.controller.spec.ts // test code
├── payments.controller.ts
├── payments.module.ts
├── payments.service.spec.ts // test code
└── payments.service.ts
이미 nest.js 프레임 워크를 사용하고 있지만, nest cli를 제대로 사용하지 못하고 있었습니다.
현상은 nest 명령어는 제대로 설치되어 있었지만, nest g module payments
라고 쳐도
아무런 반응이 없었습니다.
루트 디렉토리가 아닌가해서 확인해봤지만 그 문제도 아니였고, 버전문제인지 아니면 무엇일지..
방법을 찾아보다가. npx 명령어를 사용하면 가능한 것을 확인했습니다.
npx @nestjs/cli generate module payments
제대로 작동하는 것을 확인하고, @nestjs/cli 모듈을 재설치 해보기로 했습니다.
sudo npm install -g @nestjs/cli
정상적으로 설치된 후, nest명령어 역시 정상적으로 작동하는 것을 확인했습니다.
package.json파일을 보면 devDependencies에 이미 @nestjs/cli ^9.0.0 버전이 있는 것을 확인했는데 dev이기 때문에 제대로 작동을 안한 것인가 합니다.
제가 아직 devDependencies에 대한 이해도가 낮아 제대로 사용하지 못한 듯 합니다..
그래도 전역으로 nest 모듈을 설치하고 나서 사용할 수 있게 되었습니다.
모듈을 만들었던 것과 같은 방법으로 controller, service 파일도 만듭니다.
nest g controller payments
nest g service payments
이렇게 실행 시키면 spec.ts파일이 함께 생성되는데, 용도는 테스트 코드라고 합니다.
개발에 테스트 코드는 단연 필수라고 배웠으나.. 개발일정이 저를 기다려 주지만은 않으니...
테스트 코드를 사용하는 방법은 주말이나, 급한 프로젝트 불을 끄고 제대로 공부해봐야 겠습니다.