일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DTO
- Entity작성
- 갤럭시북3
- 네트스제이에스
- 네스트js
- next에러
- NestJSSwagger
- typeorm
- next.js에러
- nestjs에러
- 모노레포
- API정의서
- 리액트프로젝트생성
- Can't resolve '@/styles/globals.css'
- monorepo
- 4070
- nestjs
- monorepolib
- Delete `␍`eslintprettier/prettier
- error: an invalid controller has been detected.
- connectionerror
- 대문자를소문자로
- Connection not yet open
- 자바스크립트대소문자
- 쿼리튜닝기법
- react프로젝트생성
- 갤럭시북3울트라
- Entity
- 소문자를대문자로
- RTX4070
- Today
- Total
코드 낭만 제작소
[NestJS] Monorepo구조에서 lib구성하기 본문
지난번에 프로젝트를 표준구조에서 monorepo구조로 변경을 진행했다.
[NestJS] 프로젝트 구조를 MonoRepo(모노레포)로 구성하기
혹시라도 어떻게 구성했는지 궁금한 분들은 지난번 글을 보셔도 좋을 것 같다!
크게는 작업공간을 나누기와 라이브러리(lib) 구성하기로 나누어지는 것 같다.
작업 공간을 나누고 lib를 구성 한다고 해도 추후에 설정 해야 할 것이 훨씬 많겠지...
그것들은 추후에 적용해나가면서 블로그에도 글을 남겨둘 예정이다.
본론으로 돌아가서 다시 공식 문서를 들여다 본다.
NestJS 공식문서 CLI- libraries
이전에 작업했던 작업공간의 분리(apps-app)의 탭인 Workspaces가 보이고,
그 바로 아래 Libraries가 지금 하는 작업의 목표다.
탭을 누르고 들어가 보면 lib을 왜 구성해야 하는지에 대한 설명과 구성 방법에 대해 설명이 되어있다.
도서관 이라는 아주 어색한 번역체를 지나고나면 구조 사용 의미를 알 수 있다.
제대로 이해한 것인지는 잘 모르겠지만 열심히 읽어본 결과
단독으로는 실행되지 않지만 기능적으로는 유의미한 어떠한 공통적인 기능을 가지는 모듈을 따로 만들어 놓으면 추후에 해당 모듈을 필요로 하는 곳에서 쉽게 가져다 사용 할 수 있지 않겠냐! 라는 의미인 것 같다. 예를들어 프로젝트마다 사용을 하는 기능이라던가 DB의 기본설정 같은 것들, 항상 쓰이는 스키마, 엔티티 등등을 미리 구성을 해놓고 패키징 기능을 이용하여 필요한 곳에서 가져다가 사용하라는 얘기인 것 같다.
아주 효율적인 방법이라고 생각한다. 어차피 매번 똑같이 사용을 하는 기능이라면 구축해놓고 돌려가며 쓰는게 좋은 방법이라고 생각한다.
조금 더 읽어 내려가보면 lib 생성방법을 알려준다.
$ nest g library my-library
일단 뭐라도 생성을 해봐야겠다 싶어서 일단 문구를 작성해봤는데 접두어 설정을 어떻게 하겠냐는 문구가 나온다.
default로 하는게 후에 편할지는 모르겠으나
소심하게 앞에 common을 붙여봤다. 혹시라도 별칭에 문제가 생겼을 때 내가 작성한게 더 알아보기 쉬워서 에러잡는데 좋을 것 같다는 이상한 생각으로 썼다.
접두어만 잘 붙이면 거의 바로 생성이 된다.
녹색으로 된 부분이 새로 생성된 lib이다. 나중에 공통적으로 사용되지 않거나 특수한 경우의 library가 생길지 안생길지는 알 수 없지만 일단 공통이라고 이름을 짓긴했다.
이제 남은건 app과 lib을 기능적으로 채워나가는 일만 남았다.
'Dev-Code(Back-End) > NestJS' 카테고리의 다른 글
[NestJS] 프로젝트 구조를 MonoRepo(모노레포)로 구성하기 (0) | 2025.02.20 |
---|---|
[VSCode] Delete `␍`eslintprettier/prettier 오류 (해결) (0) | 2024.02.06 |
[NestJS] Entity 작성하기 (feat.TypeORM) (0) | 2023.03.15 |
[NestJS] 서버 구동 시키기 (0) | 2023.02.06 |
[NestJS] NestJS환경 설정 및 프로젝트 생성하기 (0) | 2023.02.03 |