본문 바로가기
javascript

Lerna 를 javascript에서 mono repo 설정하는 방법

by it-square 2021. 12. 28.
반응형

시작하기 전에 노드와 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"

}

}

그게 다야! 더 많은 것을 위해 따라오세요!

댓글