[typescript] Nest.js에서 타입스크립트를 사용한 핫 리로딩 구현하기
Nest.js는 Node.js를 위한 프레임워크이며, TypeScript를 사용하여 구축할 수 있습니다. 코드 변경 시 자동으로 서버를 재시작하는 핫 리로딩 기능은 개발 시 생산성을 향상시키는 데 도움이 됩니다. 이번 글에서는 Nest.js 애플리케이션에서 타입스크립트를 사용한 핫 리로딩을 구현하는 방법에 대해 알아보겠습니다.
Nest.js 프로젝트 생성
먼저, Nest.js 프로젝트를 생성합니다. 아래 명령어를 사용하여 Nest CLI를 통해 새로운 Nest.js 애플리케이션을 만들 수 있습니다.
nest new project-name
핫 리로딩 설정
Nest.js 애플리케이션에서 핫 리로딩을 설정하려면 tsconfig.json
파일을 열고 아래와 같이 ts-node
를 사용하여 핫 리로딩을 활성화해야 합니다.
{
"compilerOptions": {
...
"outDir": "./dist",
"rootDir": "./src",
"module": "commonjs",
...
},
"include": ["src/**/*.ts"]
}
또한, package.json
파일을 열고 아래와 같이 nodemon
을 설치하고 start:dev
스크립트를 추가해야 합니다.
"scripts": {
"start:dev": "nodemon",
...
},
"devDependencies": {
"nodemon": "^2.0.13"
}
nodemon
은 코드 변경 감지 시 서버를 자동으로 다시 시작하는 데 사용됩니다. 다음으로, main.ts
파일을 열고 아래와 같이 main
함수를 수정합니다.
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
위 코드는 다음과 같이 수정됩니다.
async function bootstrap() {
const app = await NestFactory.create<NestExpressApplication>(AppModule);
await app.listen(3000);
}
bootstrap();
애플리케이션 실행
이제 아래 명령어를 사용하여 Nest.js 애플리케이션을 실행하면, 코드 변경 시 핫 리로딩이 자동으로 적용됩니다.
npm run start:dev
이제 Nest.js 애플리케이션에서 타입스크립트를 사용한 핫 리로딩을 구현하는 방법에 대해 알아보았습니다. 이를 통해 코드를 수정하고 서버를 재시작할 필요 없이 빠르게 개발을 진행할 수 있습니다.
참고 자료: Nest.js 공식문서