[concurrently] client와 server 동시실행하기

hannah·2023년 10월 29일
0

JavaScript

목록 보기
116/121

프로젝트를 진행하며 프론트 서버는 client 디렉토리에서, 백 서버는 루트 디렉토리에서 yarn start를 통해 서버를 실행시키는 도중에 concurrently(👉npm 링크)라는 라이브러리를 이용하여 동시에 실행시킬 수 있다는 것을 알게 되었다.

1. 동시에 실행하고자 하는 root 디렉토리에 사용하는 패키지 관리 툴에 맞는 코드를 아래와 같이 입력하여 설치한다.

npm i -D concurrently

yarn add -D concurrently

2. root에 위치한 package.json의 scripts 부분에
"client"는 client 폴더로 이동해서, client를 실행 ,
"server"는 server 폴더로 이동해서, server를 실행에 대한 내용을 넣었고,
이를 동시에 실행시켜줄 "dev"라는 새로운 부분도 추가한다.

  "scripts": {
    "client": "cd client && yarn start",
    "server": "cd server && nodemon server.ts",	// 실행시키고자 하는 파일을 적으면 됨
    "dev": "concurrently --kill-others-on-fail \" yarn server\" \"yarn client\""
  }

concurrently는 앞에 명령어부터 순차적으로 실행된다.

필자의 경우에는 "dev" 위에 명시한 client와 server 두 디렉토리에 대한 명령어가 순차적으로 동시에 실행되는 것이다.

참고로 --kill-others-on-fail 옵션은 여러 개중 하나의 명령이 0코드 에러가 아닌 에러로 실패하면 다른 프로세스 또한 실행시키지 않는 것이다.

3. root 디렉토리에서 yarn dev를 실행한다.

0개의 댓글