개발하는 너구리

tsconfig.json 본문

TIL

tsconfig.json

너구리개발자 2024. 5. 27. 21:52

 

 

 

vite로 리액트 라이브러리와 TS언어로 생성한 프로젝트폴더의 tsconfig.json파일의 내용이다.

vite를 이용해 프로젝트를 생성하면 자동으로 생성해주기때문에 그동안 해당 파일의 내용에 대해 잘 모르고 사용했었지만, 앞으로 반드시 프로젝트에 성격과 통일성에 따라 수정할 날이 올것이기에 미리 속성들에 대해 공부했다.

{
  "compilerOptions": {
    "target": "ES2020",
     //TypeScript가 컴파일된 JavaScript 코드의 버전을 지정합니다. 여기서는 ECMAScript 2020을 타겟으로 합니다.
    
    "useDefineForClassFields": true,
     //이 옵션이 true로 설정되면 클래스 필드는 define 방식으로 초기화됩니다. 즉, 클래스 필드 선언이 Object.defineProperty를 사용하여 정의됩니다.
    
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
     //TypeScript 컴파일러가 포함해야 하는 라이브러리를 지정합니다.
         ES2020: ECMAScript 2020 표준 라이브러리.
         DOM: 브라우저 환경의 DOM API.
         DOM.Iterable: DOM 객체에 대한 반복 가능 인터페이스.
    
    "module": "ESNext",
     //모듈 시스템을 지정합니다. ESNext는 최신 ECMAScript 모듈 시스템을 의미합니다.
     
    "skipLibCheck": true,
     //true로 설정되면 TypeScript는 라이브러리 파일의 타입 검사를 건너뜁니다. 컴파일 속도를 높이는 데 유용합니다.

    /* Bundler mode */
    "moduleResolution": "bundler",
     //모듈 해석 전략을 지정합니다. bundler는 번들러 도구와 호환되는 방식으로 모듈을 해석합니다.
    
    "allowImportingTsExtensions": true,
     //TypeScript 파일을 가져올 때 파일 확장자를 포함하는 것을 허용합니다.
     
    "resolveJsonModule": true,
     //JSON 파일을 모듈로 가져올 수 있도록 합니다.
     
    "isolatedModules": true,
     //각 파일을 독립적으로 트랜스파일합니다. 이는 Babel과 같은 트랜스파일러와 함께 사용할 때 유용합니다.

    "noEmit": true,
     //컴파일러가 출력을 생성하지 않도록 합니다. 타입 검사를 위해서만 컴파일하는 경우 유용합니다.
    
    "jsx": "react-jsx",
     //JSX 파일을 컴파일할 때 사용할 JSX 팩토리를 지정합니다. react-jsx는 React 17 이상에서의 새로운 JSX 변환을 의미합니다.

    /* Linting */
    "strict": true,
     //엄격한 타입 검사를 활성화합니다. 여러 개별 타입 검사 옵션을 활성화하는 strict mode를 의미합니다.
     
    "noUnusedLocals": true,
     //사용되지 않는 로컬 변수가 있는 경우 오류를 발생시킵니다.
     
    "noUnusedParameters": true,
     //사용되지 않는 매개 변수가 있는 경우 오류를 발생시킵니다.
     
    "noFallthroughCasesInSwitch": true
     //switch 문에서 case 문이 명시적으로 break 또는 return을 포함하지 않으면 오류를 발생시킵니다.
  },
  "include": ["src"],
    //컴파일에 포함할 파일과 디렉토리를 지정합니다. 여기서는 src 디렉토리 아래의 모든 파일이 포함됩니다.
    
  "references": [{ "path": "./tsconfig.node.json" }]
   //프로젝트 참조를 지정합니다. 이 설정은 여러 TypeScript 프로젝트 간의 의존성을 관리할 때 사용됩니다. 여기서는 tsconfig.node.json 파일을 참조합니다.
}

 

 

'TIL' 카테고리의 다른 글

useRef, useImperativeHandle, createPortal  (0) 2024.05.30
key  (0) 2024.05.29
Task Queue, Microtask Queue  (0) 2024.05.24
클로저  (0) 2024.05.22
TIL-24.05.21  (0) 2024.05.21