티스토리 뷰
이번 실무 프로젝트에서 사용한 타입스크립트 설정파일이다.
컴파일러 옵션에 대한 정확한 작동 방식을 돕기 위해서 꼼꼼하게 설명해 놓았다.
.tsconfig.json
{
"compilerOptions": {
// js와 jsx 파일도 포함시키도록 한다. 점진적으로 바꿔나갈때 사용
"allowJs": true,
// 모듈 타입.nodejs는 commonjs를 사용하므로 설정함
"module": "commonjs",
// es6 모듈 사양에 따라 commonJS모듈을 가져올 수 있다. 기본 내보내기가 없는 모듈에서 대체 모듈 가져오기를 실행한다. import foo from 'foo' 와 import * as foo from 'foo'
"esModuleInterop": true,
// 사용할 es 버전
"target": "es6",
// 타입스크립트 핵심. 암시적 any 선언여부. true로 활성해야 타입검사를 any로 예외없이 사용하지 않는다. 반드시 함수의 파라메터 값에 타입을 지정해줘야 한다
// true이면 any를 사용하지 않는다, 정의가 없는 모듈은 정의(d.ts 파일)를 해주어야 한다. 이 기능을 true로 켜면 타입 지정해주지 않은 파라메터는 모두 에러가 나온다
"noImplicitAny": true,
// 모듈 해석방법을 node의 require() 함수를 이용한 import 해석 과정을 모방하여 처리한다
"moduleResolution": "node",
// 디버깅할때 사용하며, 코드상의 위치를 기억하고 알려준다. 빌드 전 어떤파일, 라인에서 오류가 났는지 확인
"sourceMap": true,
// 동일 파일 참조에 대해 일관성 없는 대소문자를 비활성화
"forceConsistentCasingInFileNames": true,
// 타입을 저장할 폴더를 의미함 types는 직접 정의한 타입, @types 는 보통 부 라이브러리들의 정의
"typeRoots": [
"./types",
"./node_modules/@types"
],
// 시작하는 루트 폴더
"rootDir": "./src",
// 컴파일 완료된 파일의 위치
"outDir": "./dist",
// paths 옵션의 기준 디렉토리
"baseUrl": ".",
// 모듈의 위치 설정
"paths": {
"*": [
"node_modules/*",
"src/types/*"
]
}
},
// 컴파일할 소스파일 위치, src 폴더의 깊이 제한없는 디렉토리의 모든 .ts 파일
"include": [
"src/**/*.ts"
],
// 컴파일 대상을 제외하는 옵션
"exclude": [
"node_modules"
],
// 주석제거
"removeComments": true
}
'■ 프론트엔드 ■ > JavaScript' 카테고리의 다른 글
await-to-js (0) | 2022.12.05 |
---|---|
eval 대신에 Function (0) | 2022.08.19 |
단어강조 (0) | 2021.05.03 |
ES6 구조 분해 할당 - Expressions Destructuring assignment (0) | 2020.11.06 |
두개의 배열의 값을 비교할때, 조금 더 나은방법 Array.filter (in) Array.indexOf (0) | 2020.09.13 |
댓글