NestJS ์๊ฐ
NestJS ๋ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๋ Node.js ํ๋ ์์ํฌ๋ค. ๋ฐ์ฝ๋ ์ด์ ์ ์ฌ์ฉํ๋ ๋ฑ Springboot ์ ์ ์ฌํด์ Spring ์ ๊ณต๋ถ ์ค์ธ ๊ฐ๋ฐ์๊ฐ ํ์ตํ๊ธฐ ์ฝ๋ค. ๋ด๋ถ์ ์ผ๋ก Express ๋ฅผ ์ฌ์ฉํ๊ณ ๋ณ ๋ค๋ฅธ ์ค์ ์์ด Typescript ๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํด์ค๋ค. ํ๋ก ํธ์๋์ ๊ฐ์ ์ธ์ด๋ก ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ ๊ฐ์ฅ ํฐ ์ฅ์ ์ธ ๊ฒ ๊ฐ๋ค.
- ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ Node.js ํ๋ ์์ํฌ
- TypeScript ๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ - Frontend ์ ๊ฐ์ ์ธ์ด๋ก ๊ฐ๋ฐ ๊ฐ๋ฅ
- ๋ด๋ถ์ ์ผ๋ก Express(default) ๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ์ ์ผ๋ก Fastify ๋ ์ฌ์ฉ ๊ฐ๋ฅ
- Node.js ๊ธฐ๋ฐ์ ๋ค๋ฅธ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ
- Angular ์ํคํ ์ณ์ ์ ์ฌ
- GrpahQL ๊ด๋ จ API ๋ฅผ ์ ๊ณต
- Node ๊ณ์ด์ ORM(TypeORM, Prisma), Elastic, Redis ์์ ์ฐ๊ฒฐ์ ์ง์, ์ถ์ํ๋ API ์ ๊ณต
NestJS ์ค์น ๋ฐ ํ๋ก์ ํธ ์์ฑ
node ์ค์น
์ต์ LTS ๋ฒ์ ์ค์น
nestjs ์ค์น ๋ฐ ํ๋ก์ ํธ ์์ฑ
npm i -g @nestjs/cli
nest new ./
nest new project-name
- command not found ์ค๋ฅ๊ฐ ๋๋ฉด : https://anywaydevlog.tistory.com/8?category=485413
- Failed to execute command: yarn install --silent ์ค๋ฅ ๋๋ฉด : https://anywaydevlog.tistory.com/52
์ฑ ์คํ
npm run start:dev
yarn run start:dev
nestjs cli ํ๋ก์ ํธ ๊ตฌ์ฑ
- src folder : ๋๋ถ๋ถ์ ๋น์ฆ๋์ค ๋ก์ง์ด ๋ค์ด๊ฐ๋ ํด๋
- src/main.ts : ํ๋ก์ ํธ์ ๋ฃจํธ ๋ชจ๋์ธ App module์ ์์ฑํ๊ณ ์คํ. ์์์ .
- .eslintrc.js : eslint ์ค์ ํ์ผ. ์ฃผ๋ก ๋ฌธ๋ฒ ์ค๋ฅ๋ฅผ ์๋ ค์ฃผ๋ ์ญํ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
- .prettierrc : prettier ์ค์ ํ์ผ. ์ฃผ๋ก ์ฝ๋ ํฌ๋งคํฐ ์ญํ ์ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
- nest-cli.json : nest ํ๋ก์ ํธ ์์ฒด์ ์ค์ ํ์ผ
- tsconfig.json : ์ด๋ป๊ฒ ํ์ ์คํฌ๋ฆฝํธ ์ปดํ์ผํ ์ง ์ค์ ํ๋ ํ์ผ
- package.json : ํ๋ก์ ํธ ์์กด ํจํค์ง ๊ด๋ฆฌ ํ์ผ. ๋ฐฐํฌ ๊ด๋ จ ์ค์ ๋ ์ฌ๊ธฐ์.
- .gitignore : ๊น ์ ๋ก๋ ์ ๋ฌด์ํ ํ์ผ ๋ชฉ๋ก
๋ฐ์ํ