TypeScript 시작
1. package.json 파일 생성
npm init -y
- Node.js 프로젝트를 초기화하는 데 사용
- package.json 파일을 자동으로 생성한다
- 이 파일은 프로젝트의 설정과 의존성 관리에 중요한 역할을 한다
-y flag
를 사용하여 사용자의 추가적인 입력 없이 기본값을 사용하여 pakage.json
파일을 생성한다
2. TypeScript 설치 및 설정
2-1. 설치
npm install --save-dev typescript ts-node @types/node @types/express
- ts-node: TypeScript 파일을 직접 실행할 수 있도록 해주는 도구. 별도의 컴파일 과정 없이 타입스크립트 코드를 실행할 수 있게 해준다.
- @types/node: Node.js의 내장 API에 대한 타입스크립트 타입 정의를 제공한다.
- @types/express: Express.js 라이브러리의 타입스크립트 타입 정의를 제공한다.
2-2. 설정
tsc --init
tsc --init
을 실행해서 이 프로젝트를 타입스크립트 프로젝트로 초기화한다.
2-3 tsconfig.json 설정
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"moduleResolution": "node",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
3. nodemon 설치 및 script 설정
3-1. nodemon 설치
npm i --save-dev nodemon
nodemon
은 파일이 변경될 때마다 자동으로 애플리케이션을 재시작해주는 도구다.
3-2. script 설정
"scripts": {
"start": "node dist/app.js",
"build": "tsc",
"dev": "nodemon --exec ts-node src/app.js"
}
ts-node
는 실행 시마다 타입스크립트 코드를 자바스크립트로 변환한다. 이 과정에서 추가 오버헤드가 발생하기 때문에, 프로덕션 환경에서는 권장되지 않는다.
- 따라서, 프로덕션 환경과 개발 환경을 분리해서 실행할 수 있도록 설정한다.
4. 개발 환경과 프로덕션 환경에서의 실행
4-1. 개발 환경에서 실행
npm run dev
4-2. 프로덕션 환경에서 실행
npm run build // TypeScript 코드를 JavaScript 코드로 변환
npm start // 컴파일된 JavaScript 코드 실행