설치할 폴더로 이동 후 아래 코드를 순서대로 입력한다.npm i -g @nestjs/clinest new project-namenestjs를 시작할 시 가장 먼저 실행되는것은 src/main.ts 파일입니다.현재 main.ts 에 컨트롤러와 모듈이 같이 있는 상황이며,
nest generate module 이름자동으로 src폴더에 Module을 이름 끝에 붙혀 생성해줌nest generate controller 모듈이름/컨트롤러이름 --flatflat을 붙혀 추가 폴더가 생기지 않게 함.자동으로 모듈에 controller가 추가됨.특
요청/응답시 사용할 데이터의 종류를 지정한다.모듈 폴더에 따로 dtos 폴더를 두고 사용한다.이름.dto.ts 로 이름짓는다.내부는 class를 통해 타입을 지정한다.값의 검증을 위해선 class-validator, class-transformer 라이브러리를 필요로
비즈니스 로직이 들어간다.데이터를 찾거나 저장하기 위해 Repository를 사용한다데이터베이스 관련 로직이 들어간다.TypeORM 엔티티, 몽구스 스키마 등이 들어간다.
Typescript 를 통해 DB에 접근하는 방식SQL / NoSQL 둘다 사용 가능하다.npm install @nestjs/typeorm typeorm사용자가 저장할 타입을 지정한다.EX : User entity > ID, EMAIL 을 포함최상단 모듈에 TypeOR
라이브러리 설치하기npm i cookie-sessionnpm i @types/cookie-sessionmain.ts 에 설정하기특정 핸들러에 대해 로그인 되어 있지 않으면 거부Guard로 부른다.Guard를 만들어 전체 혹은 특정 컨트롤러 혹은 특정 핸들러에 적용 가능
하나의 기능을 테스트하기 위해 여러 다른 기능을 사용하게 된다.이는 하나만 테스트하기엔 좋지 못하다.그렇기에, 다른 의존성은 가짜로 생성해 테스트를 하게 된다.테스트 관련 파일은 .spec. 을 중간에 붙힌다.auth.service.spec.ts일부만 구현할수 있기에
npm install @nestjs/configdotenv 가 같이 설치되어 환경변수를 사용할수 있다..env.development.env.test와 같이 개별 env를 만든다.최상단 모듈에 아래와 같이 설정한다TypeOrmModule 에 사용하기 위해선 아래 문법으로