Nx
개요
Nx는 모노레포(monorepo)를 위한 빌드 시스템입니다. 계산 캐싱(로컬 + 원격), 작업 오케스트레이션, 의존성 그래프, 코드 생성기, 영향을 받은 명령어(affected commands)를 제공합니다. React, Angular, Node.js, Next.js 등 모든 언어와 함께 작동합니다.
지침
1단계: 워크스페이스 생성
npx create-nx-workspace@latest my-org --preset=ts
cd my-org
2단계: 프로젝트 추가
nx g @nx/react:app my-app
nx g @nx/js:lib shared-utils
nx g @nx/node:app api
3단계: 작업 실행
nx serve my-app
nx build api
nx test shared-utils
nx affected -t test # 변경된 것만
nx run-many -t build test # 전체
4단계: nx.json 설정
// nx.json — 워크스페이스 구성
{
"targetDefaults": {
"build": { "dependsOn": ["^build"], "cache": true },
"test": { "cache": true },
"lint": { "cache": true }
}
}
지침 사항
- Nx는 작업 결과를 캐싱합니다. 입력이 변경되지 않았다면 두 번째 실행은 즉시 완료됩니다.
- CI에서
nx affected를 사용하여 PR에서 변경된 부분만 빌드/테스트하세요. - Nx Cloud는 원격 캐싱을 제공하여 팀/CI 간에 캐시를 공유합니다.
- Nx는 플러그인 없이도 작동합니다.
npx nx init으로 모든 저장소에 추가할 수 있습니다.