인프런 커뮤니티 질문&답변

김강연님의 프로필 이미지
김강연

작성한 질문수

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

타입스크립트 템플릿 소개

template typescript로 react 앱을 만드록 배포는 어떻게 하나요?

작성

·

507

·

수정됨

0

template typescript로 react-app을 초기화하면 tsconfig.json파일에 compilerOptions에 지금까지 배운 outDir은 없고 noEmit: true가 기본으로 되어 있는데 이게 complie할 때 js파일을 만들지 않는 설정 이더군요.

지금까지 typescript를 들은 바로는 typescript는 오류를 방지 하기 위한 방법으로만 파일 작성을 하고 그 자체로는 뭔가 부족?(문법이 호환이 안된다 하셨나?) 그래서 파일을 javascript로 complie 하고 배포가 되는 걸(용이해서/어짜피 .js파일로 실행시켜야하기 때문에)로 알고 있습니다.

이렇게 설정된 이유가 제가 모르는 다른 이유가 있나요? 아니면 단순한 default 설정이고

결국 outDir/ noEmit: false로 설정해서 파일 변환을 하고 배포해야하는건가요?

혹시 그냥 ts-node로 실행시킨다는 마인드인가요?

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

typescript template으로 리액트 앱을 생성하셨을때 noEmit 옵션이 설정된 이유는
CRA로 만들어진 리액트 앱에서는 TSC가 아닌 Babel이 타입스크립트를 컴파일 하기 때문입니다.
따라서 TSC는 타입 체킹 정도의 역할만 할 뿐 실제 트랜스파일링(컴파일)은 Babel이 수행하게 됩니다.

따라서 배포하실 때에는 기존의 리액트 앱을 사용하셨을 때와 동일하게 그냥 npm run build 이후 빌드 파일을 배포하시면 됩니다.

김강연님의 프로필 이미지
김강연

작성한 질문수

질문하기