내 SAAS를 모노 레포로 옮기고 있는데 Turborepo가 그렇게 하는 데 어떻게 도움이 되는지!!
NOTE: this is not a tutorial! I'm just sharing my use case, experience, and knowledge so far. Which TBH isn't a lot but I felt like writing a blog, so... 🤷
뒷이야기
내 마지막blog을 읽으면 급우들과의 협업을 쉽고 생산적으로 만들기 위해 최근에 SAASstudymerge를 시작했다는 것을 알 수 있습니다.
베타를 빌드하는 데 사용한 기술 스택은 Typescript, NextJS 및 Supabase이며 GitHub의 일반 단일 리포지토리를 사용하여 git을 관리했습니다. 관리할 코드베이스가 하나뿐이었기 때문에 괜찮아 보였습니다.
하지만 베타 출시 후 가장 먼저 출시해야 했던 것은 랜딩 페이지였고 현지 개발을 위해 로컬에 Supabase를 설정했습니다.
왜 모노레포??
이제 두 가지 옵션이 있습니다. 각 프로젝트에 대해 여러 리포지토리를 만들거나 단일 단일 리포지토리를 만들고 두통이 적고 프로젝트 간에 더 나은 코드 공유가 가능합니다. 추측하실 수 있을지 모르겠지만 두 번째 옵션이 저에게 훨씬 더 매력적인 것 같았습니다!
하지만!! 유일한 문제는 모노 레포에 대한 경험이 많지 않다는 것입니다. 나는 지난 몇 달 동안 모노 레포 코드베이스에서 작업했지만 그러한 프로젝트를 관리하기 위해 어떤 도구도 사용한 적이 없으며 fireship의 youtube 비디오 덕분에 내가 들었던 유일한 2개의 도구는 NX & Turborepo였습니다.
%[ ]
왜 터보레포??
그래서 더 많은 조사를 한 후 Turborepo를 사용하기로 결정했습니다. Turborepo가 더 쉽게 들어갈 수 있고 문서에는 기본적으로 어두운 테마가 있기 때문입니다. 😶
NX에 대한 좋은 소식도 많이 들었지만 학습 곡선이 더 높은 것 같았고 작은 프로젝트를 필요 이상으로 복잡하게 만들고 싶지 않았습니다.
특징 (내가 경험한 것)
TBH 저는 아직 Turborepo의 대부분의 기능을 살펴보지 않았지만 제가 배운 것과 그것이 제 프로젝트에서 어떻게 구현되는지에 대해 간략하게 설명하려고 합니다. 자세히 알아보려면 docs을 확인하십시오.
지금까지 살펴본 몇 가지 사항은 다음과 같습니다.
다음을 실행하여 새 프로젝트를 생성하면
npx create-turbo@latest
, 프로젝트에는 2개의 루트 수준 폴더 앱 및 패키지가 있어야 합니다.
turbo.json
파일도 있는데 Turborepo를 구성하는 데 사용할 수 있다고 생각합니다.모든 다른 프로젝트는 앱 및 구성 요소와 같은 항목에 상주하며 구성은 패키지 폴더에 상주합니다.
제 경우에는 앱 내부에 문서, 랜딩 및 웹 앱이 있고 패키지 내부에 Supbabase 로컬 설정, 공유 구성 요소 및 구성이 있습니다.
이것은 단지 "옳다"고 느꼈습니다. 적절한 파일 시스템을 생성하는 것에 대해 생각할 필요가 없습니다. Turbo는 저를 위해 이 작업을 수행했으며 이 구조를 사용하면 모든 프로젝트에서 브랜드 구성 요소를 쉽게 공유할 수 있습니다.
생산
build
에는 시간이 걸리며 때때로 대규모 프로젝트build
의 경우 시간이 많이 걸릴 수 있습니다! 터보 덕분에 내 프로젝트는 첫 번째 초기 빌드 후 매우 빠르게 빌드되는 것 같았습니다.아직 단점을 발견하지 못했지만 지금까지는 이 캐싱이 정말 유용하다고 생각합니다.
작업 실행 속도를 높이기 위해 작업 관계를 지정하는 방법에 대한 Turborepo 문서의 멋진 다이어그램이 있습니다. 🏃
지금은 전에 Lerna를 사용한 적이 없어서 정말 구별할 수 없습니다. 하지만 이 다이어그램과 이론에 따르면 내 작업 실행이 더 빠릅니다. Idk 내가 더 많이 알게되면 더 알려 드리겠습니다. 😶
아직 시도하지 않은 범위 지정 작업, 원격 캐싱과 같은 다른 기능도 있습니다. 내가 할 때 확실히 이 블로그를 업데이트합니다. 관심이 있는 경우 자세한 데모 및 연습 비디오를 확인할 수 있습니다.
%[ ]
자기 홍보
확인. 셀프 프로모션 시간, 내 뉴스레터에 가입하세요.😶
Reference
이 문제에 관하여(내 SAAS를 모노 레포로 옮기고 있는데 Turborepo가 그렇게 하는 데 어떻게 도움이 되는지!!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devarifhossain/im-moving-my-saas-to-a-monorepo-and-how-turborepo-is-helping-me-to-do-so-4j1g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)