모노레포 - ChoDragon9/posts GitHub Wiki
형상 관리 시스템에서 다수 프로젝트를 단일 저장소에 저장하는 소프트웨어 개발 전략이다.
$ mkdir my-core && cd my-core
$ npm init
$ touch index.js
$ cd ..
$ mkdir my-repo && cd my-repo
$ npm init
module.exports = (a, b) => a + b
$ cd my-core
$ npm link # 심볼릭 링크 설정
$ cd ../my-repo
$ npm link my-core # 심볼릭 링크 설치
$ touch index.js
$ node index.js
-
npm link
: 해당 폴더의 패키지명을 기준으로 심볼릭 링크를 설정할 수 있다. -
npm link <package>
: 등록된 심볼릭 링크를 설치한다. 설치 시 다른 패키지와 동일하게node_modules
폴더에 설치된다.
const sum = require('my-core')
console.log(sum(1, 2)) // 3
심볼릭 링크로 등록된 코드변경 시, 해당 패키지를 사용하는 모듈은 바로 변경된 코드를 사용하게 된다.
my-core/index.js
코드를 아래와 같이 변경하고
module.exports = (a, b) => (a + b) * 10
my-repo/index.js
를 실행하면 다음과 같다.
$ node my-repo/index.js
$ 30