사전에 세팅이 되어있다.
라이브러리 - 도구 하나
프레임워크 - 도구 모음
프레임워크
자바 => 스프링 (DI 라이브러리 O)
파이썬 => 장고 (DI 라이브러리 x)
자바스크립트 => Nest (DI 라이브러리 O)
=> express (DI 라이브러리 x)
npx - 설치하고 할 일 한다음에 알아서 삭제해줘
.eslintrc.js 규칙 정하기(문법 용도)
.prettierrc - 규칙 정하기(보여주기 용도)
tsconfig.json - 타입체크(안정성)
.git - github에 저장하기
jest - 테스트코드(내가만든 코드 검사하기)
build - 최적화 폴더 생성(dist)
prebuild - 최적화 폴더 삭제(dist)
start:dev - 개발할 때 실행 (주로 사용함)
start:prod - 배포할 때 실행
lint - 잘못된 것들 수정
jest - 마우스로 하나하나 클릭해서 테스트해 볼 수 있지만, 백엔드는 보통 보이지 않기 때문에, 명령어를 이용해서 파일을 실행해서 테스트합니다.
dependencies - 실행할 때 필요한 것들
devDependencies - vs코드에서 필요한 것들
dependencies, devDependencies 나눠 둔 이유
코드 린터 - import 순서, == 금지, ===허용 등
코드 포멧터 - 띄어쓰기 2칸, ㅇㅇ길이 넘으면 줄바꿈 등
.prettierrc
파일
// .prettierrc
{
"singleQuote": true,
"trailingComma": "all"
}
‘ ‘ 로 통일
시켜주는 것콤마( , )
를 자동으로 붙여주는 것서비스.ts나 컨트롤러.ts가 모듈.ts에서 합쳐진다.
합쳐진 모듈.ts이 메인.ts에서 실행된다.
컨트롤러 서비스 모듈이 따라다닐 것이다.
인젝션-스코프
=> 1. 싱글톤(new 한 번)으로 할래?
=> 2. Request 스코프(매 요청마다 new)로 할래?
=> 3. Transient 스코프(매 주입마다 new)로 할래? (잘 사용되지는 않음)
기존 Apollo-Server 방식 => Schema First(스키마 우선) - typeDefs를 직접 작성하는 방식
Nest.js => Code First(코드 우선) => typeDefs를 자동으로 작성하는 방식
출처 : 코드캠프