2인 프로젝트를 시작하게 되었다.
처음으로 모노 레포를 사용해보기로 했다.
https://turbo.build/repo/docs/getting-started
Getting started | Turborepo
Get started with Turborepo.
turbo.build
패키지매니저로는 pnpm 을 사용하게 되어서 아래와 같이 공식 문서에 나와있는대로 설치했다.
pnpm install turbo --global // 생략 가능 (아래 명령어 입력시 전역설치 없이 프로젝트 생성 가능)
pnpm dlx create-turbo@latest
pnpm add turbo --save-dev --ignore-workspace-root-check
폴더 구조가 위 사진과 같이 자동 세팅 된다.
apps 아래 docs, web 이 각각 개별 next.js 앱이 된다.
또는 명령어로 next app을 생성할 수 있다.
web 대신 원하는 다른 이름 사용 가능하다. 나는 admin , user로 했다.
pnpm create next-app@latest apps/web
아래와 같은 명령어로 빌드, 린트 검사, 개발 모드를 시작할 수 있다.
각각의 앱(docs, web)에 대해 총 2개가 실행이 된다.
turbo build
turbo lint
turbo dev
dev 를 하면 두개 포트 3000, 3001 에 각각의 앱이 실행된다.
덧붙여서...
모노레포 라는 개념을 내가 이해한 바로는 이렇다.
[폴리레포] : 그동안 일반적으로 사용한 방법
백엔드 -> 백엔드 레포지토리 -> 서버 배포
프론트엔드 -> 프론트엔드 레포지토리 -> 사이트 배포
프론트엔드에서 백엔드에 HTTP 리퀘스트를 보내서 통신한다.
[모노레포]
하나의 레포지토리 - 백엔드 앱, 프론트엔드1 앱, 프론트엔드2 앱 ... -> 각각 배포
공통 코드나, 설정을 공유할 수 있다.
'개발개발 > Date-project' 카테고리의 다른 글
[date] pnpm-workspace.yaml 설정하기 (0) | 2025.03.06 |
---|---|
[date] tsconfig 설정하기 (0) | 2025.03.05 |
[date] turborepo config 설정하기 - eslint (0) | 2025.03.05 |
[date] Slack - GitHub 웹훅(webhook) 연동하기 (0) | 2025.03.04 |
[date] changeset 을 추가하자 (0) | 2025.03.04 |