● tsc-watch는 무엇일까?
: tsc-watch를 사용하지 않으면 TypeScript(ts)코드가 바뀔때마다 JavaScript(js)로 컴파일 한 뒤에 node로 실행해야하는 번거로운 작업이 생깁니다.
매번 ts파일 수정할때마다 node를 실행하기란 힘들기때문에 tsc-watch를 이용하여 ts코드가 수정될때마다 바로 자동으로 컴파일한 뒤에 js을 실행해주도록 하는 편리한 기능입니다.
일반적으로 nodemon과 비슷하지만 TypeScript의 경우 노드 서버를 다시 시작하는 데 사용됩니다.
자세한 문서는 npm 공식 사이트에서 확인 바랍니다.
www.npmjs.com/package/tsc-watch
1. TypeScript 설치
$ npm -d add typescript
typescript를 먼저 설치해줍니다.
2. tsc-watch 설치방법
$ npm add tsc-watch --dev
tsc-watch를 추가해줍니다.
3. src와 dist 디렉토리를 만들어줍니다.
4. tsconfig.json파일을 수정해줍니다.
여기서 중요한것은 include에 src/**/*을 입력해줘야 ts파일이 모두 src폴더에 있다는것을 알수있습니다.
outDir에 dist로 입력해줘야 ts파일이 js파일로 컴파일되어 js파일이 dist폴더 밑으로 저장되는것을 명시합니다.
"src/**/*"의 의미는 src 폴더 내의 모든 파일과 폴더라는 의미입니다.
5. package.json파일을 수정합니다.
위처럼 npm의 start를 하게되면 실행되도록 "start": "tsc-watch --onSuccess \"node dist/index.js\"" 입력해줍니다.
--onSuccess의 의미는 컴파일을 성공했을 때만 그 이하의 내용을 실행하라는 의미입니다.
즉, 아래 scripts는 tsc-watch를 실행하되 성공하면 node로 dies/index.js를 실행하라는 것입니다.
6. 결과 확인
커맨드창에 npm start를 입력해주면 위와 같이 src/index.ts파일을 js파일로 컴파일하여 출력해줍니다.
에러 발생
작업하다가 위와 같은 오류가 발생하여 당황헀지만, 아래와 같이 해결하였습니다.
해결
tsconfig.json파일에서 코드수정중에 띄어쓰기가 존재해서 발생한 문제로써 띄어쓰기를 없애주니까 정상 작동했습니다.
'Programming Language > TypeScript' 카테고리의 다른 글
[TypeScript] TypeScript 타입별 정리 (0) | 2022.01.22 |
---|---|
[NestJS] Log 모듈 - winston / winston-daily-rotate-file 예제 (0) | 2021.09.15 |
[NestJS] Typescript와Javascript 차이점 + 의존성주입 (0) | 2021.09.07 |
[NetsJS] TypeORM 기본 CRUD 구현하기 (2) | 2021.07.08 |
[NestJS] ① nestjs-API 간단하게 설치하는 방법 (0) | 2021.05.20 |
command not found: tsc 에러 해결방법 (0) | 2021.04.11 |