Node.js + Express를 이용한 RESTful API 예제(2) - typescript 적용

minhye kim·2024년 5월 11일

nodejs

목록 보기
2/10

Typescript란?

대부분의 프로그래밍 언어에서는 타입에 관련된 오류가 발생하면 오류를 표출해주고, 일부는 코드가 실행되기 전인 컴파일 중에 오류를 표출해준다. 또한 몇 언어는 버그가 발생한 프로그램을 아예 실행시키지 않는다.
프로그램을 실행시키지 않으면서 코드의 오류를 검출하는 것을 정적 검사라고 한다. 어떤 것이 오류인지와 어떤 것이 연산 되는 값에 기인하지 않음을 정하는 것이 정적 타입 검사이다. TypeScript는 이러한 정적 타입을 검사하여 프로그램을 실행시키기 전에 value의 종류를 기반으로 프로그램의 오류를 찾아준다.

Typescript 설치

//글로벌 설치
npm install typescript -g

//헬프로 사용법 확인
tsc --help 

//Typescript 환경 파일 생성
tsc --init tsconfig.json 

//Typescript 사용을 위한 추가 라이브러리
npm i --save-dev @types/node ts-node

tsconfig.json 작성

생성된 파일에서 필요한 부분을 추가하고 필요없는 부분은 제외한다.
TSConfig 레퍼런스: https://www.typescriptlang.org/tsconfig/

include : 컴파일할 파일들을 지정하는 속성
exclude : 컴파일 대상에서 제외할 파일들을 지정하는 속성

compilerOptions.target : 어떤 javascript 버전으로 컴파일할지 작성
compilerOptions.module : 어떤 모듈 방식(import 문법)으로 컴파일할지 설정
compilerOptions.outDir : 컴파일 후 생성되는 js파일이 생성될 폴더명

{
  // 컴파일할 파일들을 지정하는 속성 (와일드 카드 패턴으로 묶어 표현)
  "include": [
    "**/**/*.ts"
  ],
  // 컴파일 대상에서 제외할 파일들을 지정하는 속성
  "exclude": [ "node_modules", "**/*.test.ts" ],
  "compilerOptions": {
    "target": "es5",
    "module" : "commonjs",
    "outDir" : "dist",
    "skipLibCheck": true,
    "esModuleInterop": true,
    "noImplicitAny": true,
    "strictNullChecks": true
  }
}

실행

nodejs의 실행 스크립트를 추가해준다.

 "scripts": {
    "dev": "nodemon --watch \"*.ts\" --exec \"ts-node\" index.ts",
    "build": "tsc -p .",
    "start": "nodemon dist/index.js"
  }

Reference
https://www.typescriptlang.org/ko/docs/handbook/typescript-from-scratch.html
https://www.typescriptlang.org/tsconfig/
https://codingapple.com/unit/typescript-tsconfig-json/
https://dog-developers.tistory.com/189#google_vignette

profile
안녕하세요. 블로그를 시작하게 되었습니다! 앞으로 유용한 정보와 좋은 내용을 많이 공유할게요:)

0개의 댓글