참고한 싸이트
타입스크립트 한글 깃북
typeScript
는 microsoft에서 만든 언어이며 기존 javasciprt
의 슈퍼셋(상위계념)으로
javascript
의 정적 타입을 추가한 언어이다.
기존 javascript
가 인터프리터 (javascript)언어인 반면에 typescript
는 컴파일 언어이다
기존 컴파일 언어와는 조금 다른 면이 있어서 transpile이라고도 한다
install tyscript -g
install nodemon -g
install concurrently -g
으로 패키지를 설치한뒤에tsc --init
으로 tsconfig만든뒤 설정한다{
"compilerOptions":{
"target":"ES2020",// 트랜스 파일된 js를 어떤 형식으로 할건지
"module":"CommonJS", // 모듈형식을 어떤방식으로 할건지
"rootDir":"./src", // 트랜스 파일 시킬 ts파일들의 root
"outDir":"./build", // 트랜스 파일된 js파일들이 root
}
}
{
"script":{
"startTsc":"tsc -w", // ts파일을 저장할 때마다 계속 트랜스파일
"startJs":"nodemon build/index.js", // index.js파일이 바뀔때마다 재실행 시켜줌
"start":"concurrently \"npm run startTsc\" \"npm run startJs\" " // 위에 스크립트를 동시에 실행
}
}
npm run start
npm install -g ts-node
ts-node -v
버전인 나오면 설치된겨
npm install nodemon --save-dev
ts-node 파일명
nodemon --watch '와칭시킬 파일경로' --exec 'ts-node' tsnode으로 실행시킬 파일명
ex) nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts
js으로 개발할땐 타입신경을 안써도 된다는 이점이 생산성을 높여주기도 한다.
하지만 프로젝트가 커지고 동료들과 협업을 해야하는 상황에선 이같은 장점이 너무나도 큰 걸림돌이 된다.
하지만 ts를 사용한다면 해당 api/component의 리턴값을 정의한 interface나 type을 찾아 바꿔주면 알아서 틀린곳을 트랜스파일 단계에서 전부다 잡아준다.
위에서 말한것처럼 유지보수 측면에서도 뛰어난 성능을 보이며
개발단계에서도 type만드는 시간을 투자하면 이후 사용되는 곳에선 자동완성을 지원하기 때문에
결과적으로 생산성이 증가할 것이다.