Node.js
[Node.js] nodemon 설치하고 typescript 적용하기
pocket.dev
2024. 6. 12. 12:57
반응형
1. nodemon 설치
코드를 변경하고 저장했을 때 변경 사항이 바로 적용되도록 하기 위해서 nodemon을 사용한다.
개발 시에만 사용할거니까 -save-dev 옵션을 줘서 설치한다.
// 패키지 설치
npm install -save-dev nodemon
2. typescript 관련 패키지 설치
express로 프로젝트를 구동해서 express 관련 패키지도 설치해줬다.
npm install --save-dev typescript ts-node @types/node @types/cookie-parser @types/debug
@types/express @types/http-errors @types/morgan
- ts-node: node.js 프로젝트 구동 시에 ts 파일을 수동으로 컴파일하지 않고 바로 실행시킬 수 있도록 도와주기 위함.
3. package.json 수정
scripts 부분을 보면 초기에는 "start": "node ./bin/www"로 되어있을텐데, script 부분을 아래처럼 수정해준다.
- "start": tsc로 빌드 후 만들어진 js 파일을 실행한다. 진입 js 파일이 있는 위치가 ./build/bin/www다.
- "build": npm run build 시 ts 파일이 js 파일로 컴파일 된 폴더가 생성된다.
- ts 형식으로 된 파일을 ts-node가 실행시킨다.
"scripts": {
"start": "node ./build/bin/www",
"build": "tsc",
"dev": "nodemon --exec ts-node ./bin/www.ts --watch"
},
4. tsconfig.json 수정
프로젝트를 새로 생성해서 tsconfig.json이 없을 경우 tsc --init 명령어를 사용하면 tsconfig.json 파일이 만들어진다.
// tsconfig.json 생성
tsc --init
tsconfig.json 파일을 열어보면 여러 옵션들과 주석처리된 옵션들을 확인할 수 있다. 여기에서 수정해줄 옵션이 있다면 수정해준다.
나는 컴파일 된 js 파일이 생성되는 위치를 기존 "./"에서 "./build"로 변경해줬다.
{
"compilerOptions": {
// ...
"outDir": "./build",
// ...
}
}
5. js 파일 전부 다 ts로 바꿔주기
6. 프로젝트 실행
npm run dev