47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
nodejs -> express -> nestjs
|
|
|
|
nestjs는 express를 기반으로 구동되며
|
|
express에 기본적인 뼈대를 만들어놓은 형태
|
|
너무나도 자유도가 높은 nodejs의 단점을 보완해줌
|
|
|
|
nestjs가 express를 기반으로 구동되는게 아니고 아에 express 위에서 구동됨.
|
|
디폴트는 express고 festify로 변경도 가능한데
|
|
nestjs 사용법에 맞게만 잘 코딩해놓으면
|
|
festify로 아주 쉽게 변경이 가능하단다.
|
|
express는 심플하고 festify는 성능이 좋음.
|
|
|
|
아주 좋은 아키텍처와 구조를 가짐.
|
|
|
|
모듈: 어플리케이션의 일부, 모듈이 여럿 모여서 하나의 어플리케이션이 됨.
|
|
|
|
npm run start:dev
|
|
npm 명령어로 빌드해야함.
|
|
nest start hi-nest 로 빌드하면 자동새로고침 같은 기능들이 작동을 안함.
|
|
|
|
controller: url을 가져오고 함수를 실행함 express의 router같은 존재
|
|
함수를 실행해주는정도의 역할만 해야함. 컨트롤러에 함수 선언이 있으면 안됨.
|
|
|
|
|
|
provider: service를 이야기함. 왜 provider라고 추가하는건지..?
|
|
provider에 등록된 service들의 dependency injection을 함.
|
|
|
|
|
|
validation pipe 완전 기깔나는 기능
|
|
|
|
npm i class-validator class-transformer // validation pipe
|
|
npm i @nestjs/mapped-types // PartialType
|
|
|
|
app controller 에서는 뭘 하면 될까?
|
|
앱에 필요한 모든 모듈들을 여기서 등록함.
|
|
서브 모듈들에는 모듈이 있을 필요가 없음.
|
|
컨트롤러, 프로바이더만 있으면 됨.
|
|
|
|
|
|
Insomnia http 테스트 tool
|
|
|
|
|
|
Jest
|
|
Jest는 단순함에 초점을 맞춘 유쾌한 JavaScript 테스팅 프레임워크입니다.
|
|
유닛테스트, E2E 테스트가 가능한데
|
|
유닛테스트는 아주 작은단위 (함수 하나 단위)의 테스트이고
|
|
E2E 테스트는 사용자의 입장에서의 처음부터 끝까지 전부 테스트함. |