on
Lerna 를 javascript에서 mono repo 설정하는 방법
Lerna 를 javascript에서 mono repo 설정하는 방법
반응형
시작하기 전에 노드와 npm이 설치되어 있는지 확인하는 것이 항상 중요합니다.
이 작업은 다음 명령을 실행하여 수행합니다.
이러한 버전을 설치한 경우 설치 버전을 받을 수 있습니다.
그렇지 않으면 노드를 설치하려면 https://nodejs.org/en/download/으로 이동하십시오.
먼저 Lerna를 설치하는 것부터 시작합니다. https://lerna.js.org/
Npm I -D Lerna를 실행하기만 하면 됩니다.
-D 플래그는 다음에 대한 바로 가기입니다. — save-dev
설치가 완료되면 패키지를 생성할 수 있습니다.다음 명령을 사용하여 자동으로 lerna 구성을 추가한 json: npx lerna init
처음에는 이런 게 나올 거예요.
앱이 패키지 안으로 들어가야 합니다.
패키지 내부에 폴더를 만듭니다. 이 튜토리얼의 클라이언트 및 서버 예제를 살펴보겠습니다.
이 폴더 내부에 web-client 및 cd라는 폴더를 만들고 실행
npx 생성-응용 프로그램 웹-클라이언트
다음과 같습니다.
백엔드 응용 프로그램의 경우 패키지 내에 server-api라는 이름의 폴더를 만듭니다.
이제 server-api 폴더 내에서 실행
npm init –yes
-예, 기본값만 사용하고 옵션을 묻는 메시지가 표시되지 않습니다.
둘 다 가지고 계셔야 해요.
프런트엔드:
이제 백엔드의 경우 서버-api 폴더 내에서 실행됩니다.
npm 나는 바디파서를 표현한다.
그리고 다음 코드를 index.js에 작성합니다.
const expression = required ```;
const 포트 = process.env.nv.좌현 | 5000;
const app = expressfilen;
app.getfilename/`, (re, res) => {
res.send("나는 백엔드 서버다");
});
app.part(포트, (err) => {
만약(오류) {
console.log( 오류: ${err.message} );
}세상{
console.log( 포트 ${port} 에서 수신 대기 중);
}
});
이제 npx lerna clean을 실행하여 패키지에서 모든 노드 모듈을 제거할 수 있습니다.
이제 npx lerna clean -y를 실행합니다.
그리고 실행 후
npx lerna 부트스트랩 — — 호이스트
패키지 json 파일 업데이트:
루트 패키지 json:
{
"이름": "루트",
"개인": 사실,
"버전": "1.0.0",
"dev 종속성": {
"레나": “⁴.0.0”
},
"추적": {
"시작": "lerna 실행 시작 - scope={web-client}",
"테스트": "Lerna 실행 테스트 — scope=web-client",
"새 버전": "레르나 버전—컨벤션-예"
"diff": "Lerna diff"
}
}
웹 클라이언트 패키지 json
{
"이름": "웹 클라이언트",
"버전": "0.1.0",
"개인": 사실,
"의존성": {
"@@dump-dom/domp-dom": "domp.16.1",
"@twin-disc/disc": "twin².1.2",
"@ssh-disc/user-event": "sshyc.5.0",
"n": "n"2012.0.2",
"domp-dom": "domp.0.2",
"5.0.0",
"웹-비탈": "².1.2"
},
"추적": {
"시작": "초기적인 시작"
"빌드": "완벽한 체격"
"테스트": "에코 테스트 리액트 앱"
"추적": "이중 제거"
},
"eslintConfig": {
"추적": [
"스파이웨어 앱",
"응용 프로그램/응용 프로그램"
]
},
"비공개 목록": {
"생산": [
“>0.2%”,
"죽지 않았다"
"op_mini all이 아님"
],
"개발": [
"마지막 크롬 버전"
"마지막 1개의 파이어폭스 버전"
"최근 1개의 사파리 버전"
]
}
}
서버 api 패키지.제이슨
{
"이름": "server-api",
"버전": "1.0.0",
"설명": "
"메인": "index.js",
"추적": {
"시작": "노드 인덱스.js",
"테스트": "에코 "오류: 테스트가 지정되지 않음"
},
"예": [],
"작성자": "
"라이선스": "ISC",
"의존성": {
"바디 파서": "196.1",
"127.17.2"
}
}
그게 다야! 더 많은 것을 위해 따라오세요!
from http://it-square.tistory.com/11 by ccl(A) rewrite - 2021-12-29 00:00:58