NestJs 개발의 이해 - NestJS 아키텍처
NestJS로 게시물 생성 API를 만든다고 가정해볼 때,
아래와 같이 모듈?을 생성해서 개발을 한다.
아마도, Node.js에서 기능별로 폴더를 나눠서 아키텍처 구성해둔 것과 같다고 생각이 듦.
게시물 생성 시에는 "공개글", "비공개글"을 설정할 수 있기에
이에 따른 인증을 해주는 Auth 모듈과
게시물 생성을 해주는 Board 모듈을 구성해서 개발한다는 걸 알 수 있다.
해당 부분에 대해선, NestJS를 좀 더 공부해보고
추가 포스팅을 하도록 하겠다.
현재의 포스팅은 NestJS 단기적으로 공부하면서 정리하는 포스팅이기에,
내용이 추상적일 수 있다는 점을 감안하면 좋겠다!
시간이 남을 때, 업로드된 포스팅을 보기좋게 업데이트 하겠습니다~~
NestJS 개발 템플릿 구성 - NestJS 아키텍처의 이해
📂 Nest-JS_PRACTICE
┣📂 src
src 폴더에는 대부분의 NestJS 프로젝트 위한 로직들이 들어있다.
쉽게 말해, API를 개발하는 폴더라고 보면 된다 ㅎㅎ
┣📜 Controller.ts
┣📜 Moduel.ts
┣📜 Service.ts
┣📜 main.ts
src 폴더의 로직을 간단하게 살펴보자 - 이 부분에 대해선 완벽한 답이 아니고, 참고만 하기 (Nest린이~)
main에서 NestJS에서 구현할 모듈을 생성함.
이때, main 파일에서 포트리스닝까지 함께 진행한다 - 3000번 포트를 리스닝함 (node 서버포트번호)
(Node.js의 시작파일인 Index.js와 동일한 기능을 담당하는 파일이라고 보면 된다.)
그리고, Module.ts 파일에서 와서 Nest.JS 프로젝트에서 사용할 Module을 설정한다.
Module에는 기능에 따라 나뉘며, 하나의 Module에는 Controller, Service와 같은 파일이 존재한다.
src 폴더에 대해서 간략하게 알아보았는데,
이 부분에 대해선 좀 더 공부해보고 추가로 포스팅하겠다.
(라우팅은 어떻게 하는지, Express를 내제적으로 어떻게 사용하고 있는지에 대해 더 알아보면 될 것같다.)
# Test 폴더는 프로젝트 처음 생성 시 NestJS에서 첫 Testing을 위한 코드를 마련해줌.
┣📂test
┣📜eslintrc.ts
eslintrc 파일은 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤수있게 도와주는 라이브러리이다.
타입스크립트를 쓰는 가이드 라인을 제시하고, 문법에 오류가 나면 알려주는 역할을 수행한다.
┣📜 .prettierrc
prettierrc 파일은 주로 코드 형식을 맞추는데 사용한다.
작은따옴표(')를 사용할지 큰 따옴표(")를 사용할지, indent 값을 2로 줄지 4로 줄지등등,
에러 찾는 것이 아닌 코드 포멧터(formeter)의 역할을 수행한다.
즉, 파일의 코드 작성 규칙을 적어두는 파일이라고 생각하면 될 듯~?
┣📜 nest-cli.json
nest-cli.json 파일은 NestJS 프로젝트 자체에서 필요한 "추가"설정들을 관리하는 파일이다.
기본 프로젝트 생성 시에는 해당 파일에 sourceRoot : src로 지정되어 있다.
- 대부분의 프로젝트 로직이 src 폴더에 있기 때문에 sourceRoot가 src로 지정되어있음 ㅎㅎ
나아가서, 외부 모듈을 nestJS 프로젝트로 가져올 때,
해당 파일에 기록해서 가져오기도 할 듯 - ex) Swagger 설정
┣📜 package.json
package.json 파일은 nestJS 프로젝트에 대한 기본정보 및 작동법에 대한 설정을 관리하는 파일이다.
프로젝트를 시작할 때는 어떤 명령을 사용해야 되는지에 대한 단축키도 함께 설정할 수 있다고 한다~
- node index.js 또는 npm run start 처럼 프로젝트 시작 명령어같은 프로젝트 실행에 대한 설정을 해주는 파일인 듯~
마치며,
# NestJS 포스팅 계획
기본적인 NestJS 템플릿 구성에 대해서 알아보았다.
오늘의 포스팅은 이정도로 마치고, 따로 Nest 실습을 해볼 것이다.
단기간에 NestJS를 습득해야 하기에 ㅎㅎ..
NestJS를 통한 실습에 대한 블로그는 어느정도 여유가 생겼을 때,
추가로 포스팅하도록 하겠다.
# NestJS 포스팅 분류
앞으로 NestJS 포스팅은 CRUD를 기반으로한 API 개발을 진행하기에,
가능하면 CRUD 분류별로 API를 나눠서 NestJS API 개발하는 방법에 대해 포스팅하겠다.
# NestJS 블로그 정리보단, NestJS 습득이 우선..!
우선, Nest를 이번주 안에 CRUD API 구현을 할 수 있을만큼 역량을 키워둬야하기에
블로그 기록보단, NestJS 습득에 초점을 맞추도록 하겠다.
그럼, 열심히 NestJS를 혼자 공부해보고, 잘 정리된 포스팅으로 다시 찾아오겠다~
'📚 스터디 > 백엔드' 카테고리의 다른 글
[개인 스터디] NestJS 정복 - CRUD API 구현 (0) | 2022.10.27 |
---|---|
[개인 스터디] NestJS 정복하기 #02 - NestJS | src 폴더 로직알아보기 (0) | 2022.10.27 |
[개인 스터디] NestJS을 시작하며 - NestJS 개발환경 셋팅 (2) | 2022.10.22 |
[Node.js] 10주차: 로그인 구현 (0) | 2022.07.25 |
[Node.js] 9주차: POST, PATCH, DELETE Method 사용 (0) | 2022.07.21 |