본문 바로가기
개발개발/Date-project

[date] turborepo 로 mono repo 구축하기

by yelimu 2025. 3. 4.

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 앱 ...  -> 각각 배포

공통 코드나, 설정을 공유할 수 있다.