[TS series] TS compile

_sqrlkoo·2023년 1월 10일
0

TypeScript

목록 보기
11/12
post-thumbnail

명령어

tsc (파일명).ts

tsc 커맨드의 인자로 타입스크립트 파일명을 넘기면 해당 파일에 저장되어 있는 소스 코드가 자바스크립트로 변환됩니다.

!! 해당 커맨드로 두 가지 파일을 입력하면 두 파일 모두 컴파일 됩니다.

tsc --w (파일명)

타입스크립트에게 단 한 번만 컴파일하지 말라고 지시하는 옵션입니다.

typescript가 변경 사항이 발생하는지 항상 감시하고

<filename.ts 파일을 변경하고 저장하면 자동으로 다시 컴파일하도록 합시다.

tsc

모든 ts 파일을 컴파일링 합니다.

include와 exclude

만약 부분적으로만 컴파일링 하고 싶을땐 tsconfig.json 파일로 들어가서 옵션을 변경하면 됩니다.

이때 include를 사용하여 include안에 포함된 파일들만 컴파일하도록 설정할 수 있습니다.


json 파일에 마지막 코드를 추가하고 터미널에 tsc를 입력하면 did라는 폴더를 제외한 나머지 파일들이 컴파일됩니다.

include와 더불어 exclude라는 옵션도 있습니다.

말그대로 무시할 파일 이름 또는 패턴의 배열을 입력하면 타입스크립트는 그것을 제외한 것을 컴파일 합니다.

대체로 하나의 파일을 제외하기 보단 전체 파일을 치징하는 " ** " 를 사용해서

**.test.ts 처럼 전체파일 중 테스트 하는 파일만 제외한다는 식으로 사용합니다.

터미널에 tsc를 입력한 결과입니다.

예상한 것 처럼 did.ts 파일을 제외하고 나머지가 컴파일링 된 것을 볼 수 있습니다.

outDir

다음으로 살펴볼 옵션은 굉장히 중요합니다.

outDir라고 하며 Dir은 Directory의 준말입니다. 간혹 디렉토리가 무엇인지 모르시는 분을 위해 간단하게 설명하자면 디렉토리는 파일과 같은 말이라고 생각하시면 됩니다.

outDir를 사용하면 typescript가 컴파일된 javascript 파일을 내보낼 위치를 지정할 수 있습니다.

지정하지 않을 경우에는 자동적으로 typescript 파일 옆에 위치합니다.

farmstand.ts가 컴파일 되면 결과 파일인 farmstand.js는 원본 typescript 파일 디렉토리로 갑니다.

대부분 선호하는 방식은 아니죠.

대규모 프로젝트에서는 보통 src디렉터리 또는 특정 디렉토리에 typescript파일을 모아 둡니다.

config 파일에서 outDir 항목을 찾아 다음 사진과 같이 추가해주시면 됩니다.

target

이번 옵션도 굉장히 중요합니다.

typescript를 컴파일한 javascript의 버전을 제어하는 target옵션입니다.

공식 문서의 기본값은 es3입니다.

저는 es2016이네요!

작업의 성격이나 동료 작업자 소속된 회사에 따라 타깃 언어를 변경해야 할 상황이 많습니다.

구식 버전의 JS보다는 최신 버전이 좋겠죠!

예시 들면, 아래 코드가 있습니다.

타켓을 통해 버전을 변경해 보겠습니다.

처음 코드와 다르게 변경된 것이 보이시나요?

이럴때 target 옵션을 사용합니다.

strict

strict옵션은 기본값이 true입니다.

엄격한 타입 검사 옵션을 모두 활성화 시킵니다.

typescript의 전체의 타입 검사 추가 규칙, 제약 조건이 활성화됩니다.

noImplicitAny, strictNullChecks 등 많은 것이 포함됩니다.

그밖의 나머지 옵션들

module

파일 공유 및 가져오기와 내보내기를 할 때 다룹니다.

allowJs

TS의 프로그램 일부에 JS파일을 사용할 수 있게 됩니다.

checkJS

TS가 오류를 보고할 수 있습니다.

JS에서 수행되며 JS파일에 오류가 있을 경우 문제가 어디에 있는지를 알려주는 기능입니다.

sourceMap

TypeScript에 소스 맵의 생성 여부를 지시할 수 있습니다.

noEmit

파일을 컴파일하지 않게 됩니다.

타입 검사를 계속 하면서도 JS파일을 만들지 않게 합니다.

noEmitError

컴파일 도중에 오류가 생기면 즉 타입 검사에 문제가 있으면 TS에서 새로운 파일을 만들지 않게 하는 옵션입니다.

다시 말해 오류가 없는 경우에만 컴파인된 JS 파일을 얻게 됩니다.

컴파일이 잘 됐다면 문제가 없었다는 뜻이죠.

그래야 TS가 해당 JS파일을 내보내니까요!

마지막으로

strict 관련 타입 검사가 굉장히 많았는데요!

앞으로 알아 두어야 할 핵심 항목들입니다.

공식문서에 잘 나와있으므로 그때마다 확인하시면서 사용하면 될 것 같습니다!

0개의 댓글