TIL

npm concurrently (여러개의 명령어를 동시에 실행)

hangooksaram 2020. 9. 1. 23:22

나동빈님의 React와 Node.js로 만드는 고객 관리 시스템 개발 강좌 

를 사용해 음악 관리 웹 어플리케이션을 만들고 있다.

그런데 프로젝트 실행을 yarn dev 로 특이하게 해서 package.json을 살펴 봤는데 

scripts 부분이 밑에 처럼 되어있었다.

 "scripts": {
        "music": "cd music && yarn start",
        "server": "nodemon server.js",
        "dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn music\""
    },

dev 는 concurrently --kill-others-on-fail \"yarn server\" \"yarn music\" 라는 명령어를 실행하기 위해 만든 명령어였다. 인터넷에 검색해보니 concurrently는

 npm run watch-js & npm run watch-less

와 같이 & 대신 명령어를 동시에 실행하는 모듈의 일종이었고

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

 

보통 react를 실행시킬때는 npm start라는 명령어를 입력했는데 이번에는 express의 rest api가 루트디렉토리내에 같이 존재하고 동시에 실행시켜야 하기때문에 여러 명령어를 동시에 실행하는 conrurrently 모듈을 통해 서버 파일과 프론트 엔드 파일을 동시에 실행시켰다는 것이라고 알수 있었다.