이 글을 통해 얻을 수 있는 것
타입스크립트 파일을 컨트롤 + s로 저장을 하면 자동으로 재실행할 수 있습니다.
하는 방법의 결론부터 말씀드리면 아래처럼 해주면 됩니다.
nodemon --exec ts-node 경로/파일.ts
이 아래부터는 설명입니다. 급하신 분들은 안 봐도 됩니다. 😃
준비물
우리의 목표를 수행하기 위한 준비물은 nodemon, ts-node이에요.
nodemon이란?
파일에 변경이 일어나면 다시 시작시켜주는 도구예요. 즉 index.js 파일에 코드를 작성하고 저장을 누르면 자동으로 nodemon이 실행시켜줍니다. 다들 아시죠?
npm i nodemon // 설치법
ts-node이란?
타입스크립트는 브라우저나 OS가 읽고 해석해서 실행할 수 가 없어요. 그래서 자바스크립트 파일로 변환시켜줘야 합니다. 그래서 tsc를 사용해서 변환시켜주고 변환된 자바스크립트 파일을 실행시켜 줬을 거예요. 맞죠? index.ts > index.js
하지만 ts-node는 js 파일을 만들지 않고 바로 실행시켜 줍니다! 우리의 귀찮음을 해결해 주는 도구에요.(짝짝)
npm i ts-node // 설치법
이제 이 글의 목적 타입스크립트 파일을 자동으로 실행시켜 봅시다.
근데 어떻게 저 두 개로 자동 재실행시킬까요?
nodemon은 자바스크립트 파일을 재실행하고, ts-node는 타입스크립트 파일을 실행시킨다고 했는데...
이 문제의 답은 nodemon에 있어요!
바로 nodemon --exec 옵션을 설정해 주는 겁니다.
npm 사이트에서 nodemon을 보면 다른 프로그램도 실행시켜준다고 나와있어요.
(아래 사진은 npm 사이트에서 캡처했습니다.)
다시 본론으로 돌아와서 이 글의 처음 부분에 제가 해결법부터 박고 시작했죠? 아래 명령어를 해석하면
nodemon에게 경로/파일. ts 파일을 감시하게 해 두고 이 파일이 변경이 일어날 때마다 ts-node 경로/파일.ts를 실행 시켜줍니다. 그러면 ts-node는 경로/파일.ts를 실행시킬 테니 자바스크립트 파일을 생성하지 않고 바로 실행시켜 버립니다.
nodemon --exec ts-node 경로/파일.ts
이제 끝났습니다. 감사합니다.
(자바가 그립다.)
아래는 nodemon npm 사이트예요. 참고하십쇼^^7