Express TypeScript로 환경 설정

Oneik·2024년 3월 17일
0

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", // 컴파일된 JavaScript의 ECMAScript 버전
		"module": "commonjs", // 모듈 시스템
		"moduleResolution": "node",
		"outDir": "./dist", // 컴파일된 JavaScript 파일이 위치할 디렉토리
		"rootDir": "./src", // TypeScript 파일이 위치한 디렉토리
		"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 코드 실행
profile
초보 개발자의 블로그입니다

0개의 댓글

관련 채용 정보