Today I Learned_221226
TypeScript
타입스크립트 프로젝트 세팅
node 설치 → tsc 실행을 위함
Editor 설치 → Editor 자체가 tsc —noEmit을 계속 쳐주고 있기에, 타입검사를 자동으로 진행해준다.
npm init -y #package.json 파일이 생김. 이 폴더를 노드 프로젝트로 만들겠다.
npm i typescript #typescript 설치 -> tsc 사용 가능
#설치 완료 후
npx tsc # ts를 js로 변환. 타입 검사와는 별개이기 때문에 타입 검사에 실패해도 js파일이 생성된다.
npx tsc --init # tsconfig.json 생성
npx tsc --noEmit # 타입 검사
npm : node의 프로그램들을 모아 놓은 저장소. 패키지 매니저
typescript 프로젝트 : package.json, tsconfig.json 세팅 필수!
타입스크립트 문법만 알고 싶으면 playground 이용
tsconfig.json 설정들
- allowJS : TS, JS 동시에 쓸 수 있음
- strict: true로 설정. false로 설정하면 typescript를 사용하는 의미가 없다.
- target(default: es2016) : 타겟 코드를 특정 버전(es2016)으로 변환시켜 줌
- ES5 : 익스플로러에서도 동작 가능
- ES3 : 완전 옛날
- module : 어떤 모듈 시스템을 쓸 것인가? CommonJS, ES2022 등..
- ES2022, ES2015 별 차이 없음. 최신꺼 쓰려면 이거 쓰자
- CommonJS : node module 시스템
- esModuleInterop: true
- forceConsistentCasingInFileNames : true로 하자.
- 타입스크립트에서는 모듈시스템이 있어서 다른 파일을 import할 수 있음
- window에서는 대소문자를 구분하지 않음
- 리눅스나 맥에서는 대소문자가 중요하므로 에러가 난다
- 윈도우 쓰는 사람이 배포할 때 실수한다
- 옵션으로 대소문자 꼭 지켜서 import할 수 있도록 하는 옵션
- skipLibCheck: 라이브러리 체크를 건너뛰는 것. 라이브러리에는 .d.ts(그 패키지의 타입을 정리를 해 둔 파일)가 엄청 많은데, 이를 전부 검사하면 컴파일러가 너무 느려진다. 따라서 실제로 사용할 타입만 검사하기 위함. true로 설정해 놓자.