타입스크립트의 역할 과 프레임워크 구성
타입스크립트 컴파일러는 크게 두가지 역할을 수행합니다. 1. 최신 타입스크립트/자바스크립트 파일을 브라우저에서 동작할 수 있도록 구버전의 자바스크립트로 트랜스파일 2. 코드의 타입 오류 체크 이 두 역할은 완벽히 독립적으로 실행됩니다. 독립적으로 작동하기 때문에, 타입에 오류가 있더라도, 자바스크립트로 트랜스파일링 됩니다. 이렇게 작동할시 오류를 수정하지 않아도 애플리케이션의 다른 부분들을 테스트 할수 있는 장점이 있습니다. ('noEmitOnError' 같은 설정을 통해 오류가 있을때 트랜스파일을 정지 시킬수는 있습니다) 그렇다면 리액트와 타입스크립트를 지원하는 프레임워크인 Next.js, CreateReactApp, Vite 는 각각 어떤 트랜스파일링과 타입 체킹을 사용하고 있을까요? 1. Next.js 트랜스파일링: swc(speedy web compiler) Rust 로 제작된 바벨보다 약 17배 빠른 빌드 툴. 타입체킹: TypeScript 의 compiler Api 2. CreateReactApp 트랜스파일링: Babel 타입체킹: 웹팩플러그인(ForkTsCheckerWebpackPlugin) 3. Vite 트랜스파일링: esbuild (go 언어로 작성되어 코드파싱, 출력 등을 병렬로 하는 웹팩보다 100배 빠른 빌드툴) 타입체킹: 지원하지 않으며, tsc 를 사용하라고 권장. 언어의 기본적인 기능을 이해해야 프레임워크 의 구성 역시 이해할수 있습니다. 역시 언제나 가장 중요한것은 기본기 인것 같습니다.