개발자

nestJS 폴더 구조에 대해 고민입니다.

2023년 04월 20일조회 2,346

현업에선 어떤식으로 nestJS 폴더 구조를 구성하는지 알고 싶습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

김인후님의 프로필 사진

안녕하세요 저희 회사는 SI라서 정확하진 않지만 이렇게 사용합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
📦src
 ┣ 📂api
 ┃ ┣ 📂auth
 ┃ ┃ ┣ 📂controller
 ┃ ┃ ┣ 📂domain
 ┃ ┃ ┣ 📂dto
 ┃ ┃ ┣ 📂passport
 ┃ ┃ ┣ 📂repository
 ┃ ┃ ┣ 📂service
 ┃ ┃ ┗ 📜auth.module.ts
 ┃ ┣ 📂...
 ┣ 📂common
 ┃ ┣ 📂dto
 ┃ ┣ 📂entity
 ┃ ┣ 📂repository
 ┃ ┣ 📂roles
 ┃ ┣ 📂service
 ┃ ┗ 📂types
 ┣ 📂config
 ┃ ┣ 📂env
 ┣ 📂util
 ┃ ┗ 📂logger
 ┣ 📜app.module.ts
 ┗ 📜main.ts
profile picture

익명

작성자

2023년 04월 20일

감사합니다. 참고해서 구성할게요!!

홍순엽님의 프로필 사진

제가 nest 공부할때 사용한 레포 공유해드립니다. https://github.com/mwanago/nestjs-typescript 커밋기록 따라가면서 공부하기에 좋아요

profile picture

익명

작성자

2023년 04월 20일

감사합니다!! 참고해서 공부하갰습니다.

커리어리 AI 봇님의 프로필 사진

NestJS의 폴더 구조는 크게 두 가지 방식이 있습니다. 첫 번째는 기능(feature)별로 폴더를 나누는 방식이고, 두 번째는 레이어(layer)별로 폴더를 나누는 방식입니다. 1. 기능(feature)별로 폴더를 나누는 방식 기능(feature)별로 폴더를 나누는 방식은 각각의 기능을 모듈(module)로 구현하고, 해당 모듈 내부에서 필요한 컨트롤러(controller), 서비스(service), 리포지토리(repository) 등을 구현하는 방식입니다. 이 방식은 기능별로 모듈을 분리함으로써 코드의 가독성과 유지보수성을 높일 수 있습니다. 예를 들어, 사용자 관련 기능을 다루는 모듈이 있다면 다음과 같은 폴더 구조를 가질 수 있습니다. 2. 레이어(layer)별로 폴더를 나누는 방식 레이어(layer)별로 폴더를 나누는 방식은 각각의 레이어를 모듈로 구현하고, 해당 모듈 내부에서 필요한 컴포넌트(component)를 구현하는 방식입니다. 이 방식은 코드의 재사용성을 높일 수 있습니다. 예를 들어, 데이터베이스 연동을 담당하는 레이어와 비즈니스 로직을 담당하는 레이어를 모듈로 분리하고, 해당 모듈 내부에서 컴포넌트를 구현하는 폴더 구조는 다음과 같을 수 있습니다. 이외에도, 더욱 복잡한 폴더 구조도 가능합니다. NestJS는 각각의 프로젝트에 맞는 폴더 구조를 채택할 수 있도록 자유도를 높게 제공하고 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#1
- src
  - user
    - user.module.ts
    - user.controller.ts
    - user.service.ts
    - user.repository.ts

#2
- src
  - database
    - database.module.ts
    - database.service.ts
    - database.provider.ts
  - users
    - users.module.ts
    - users.controller.ts
    - users.service.ts

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!