MSA
[MFA] NX 특징 , NX Cache Example
차노도리
2023. 11. 26. 23:14
https://nx.dev/
Nx: Smart, Fast and Extensible Build System
Nx is a smart, fast and extensible build system which comes with first class monorepo support and powerful integrations.
nx.dev
NX 특징
- 현재 가장 많은 기능을 제공하는 모노레포 빌드 시스템 도구
- 개발자 생산성 향상, CI 성능 최적화, 코드 품질 유지를 위한 도구
- 단일 워크스페이스 혹은 전체 워크스페이스드에 대한 태스크를 수행할 수 있다.
- 단일 워크스페이스 태스크 실행: nx[명령어] [app이름]
- 전체 워크스페이스 태스크 실행 : nx run-many -t [명령어]
- 작업의 결과에 대한 캐싱 기능을제공한다.
- 모노레포 안에 있는 모든 패키지 간의 의존성 그래프를 생성한다.
NX Cache Exmaple
1. NX 설치
pnpm -w add nx -D
2. NX 캐싱, 오케스트레이션 설정
- ex) package.json
{
"name": "08_gugbab-nx-test",
...
"nx": {
"targets": {
"build": {
# 캐싱 유무
"cache": true,
# 캐싱할 대상
"dependOn":[
"^build"
],
# 빌드 결과물 생성 위치
"outputs": [
"{projectRoot}/dist/**/*"
]
}
}
}
}
3. 캐싱 테스트
- 캐싱 안되어있을 때 (6s)
- 캐싱되어있을 때 (88ms)