전제 : yarn, nest가 전역으로 설치되어 있어야함
npm install -g yarn
npm install -g @nestjs/cli
yarn
으로 설정하여 nest 초기 프로젝트를 생성한다.#backend 폴더에 yarn 패키지매니저로 nest 프로젝트 생성
nest new backend --package-manager yarn
yarn add lint-staged --dev
yarn add husky --dev
//package.json
"scripts": {
...
"prepare": "husky install",
...
}
husky를 설치하고 커밋전에 lint를 실행하는 스크립트를 추가한다.
npx husky install
npx husky add .husky/pre-commit "yarn lint"
https://velog.io/@e_juhee/husky8
https://velog.io/@do_dadu/husky-lint-staged를-사용하자-sub-ESLint-자동화하기
yarn add @nestjs/config
// ~/src/app.module.ts
import { ConfigModule } from '@nestjs/config';
@Module({
imports: [ConfigModule.forRoot(
cache: true, // process.env 내부 파일을 미리 메모리에 캐시 해둘 것인가(<https://docs.nestjs.com/techniques/configuration#cache-environment-variables>)
isGlobal: true, // 해당 모듈을 전역에서 사용할 것인가(<https://docs.nestjs.com/techniques/configuration#use-module-globally>)
)],
...
})
export class AppModule {}
why? : hot load 를 적용하면 서버를 처음부터 리빌드 하지 않고 변경 파일만 다시 빌드하여 로딩하는 구조