![[TypeScript] 설치 및 설정 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FQQV6F%2FbtsBtHcz4sH%2FAAAAAAAAAAAAAAAAAAAAAGXNeOXLGTYQ6Z5eOKA4r-5H59pUdx1DXKMeYU8EONS8%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1764514799%26allow_ip%3D%26allow_referer%3D%26signature%3D6AJA3yJIwZVBJOdwaVZmUCIFFS4%253D)
NextJS, Create React App(CRA)를 사용하지 않고 초기 프로젝트에 TypeScript를 설치하고 설정하는 방법에 대해 알아보겠습니다.
프로젝트 시작
프로젝트 디렉터리를 생성합니다.
$ mkdir typescripttest
$ cd typescripttest다음 명령어를 실행하여 package.json을 초기화합니다.
$ npm init -yTypeScript 설치
다음 명령어를 실행하여 TypeScript를 설치합니다.
$ npm i -D typescripttsconfig.json 설정
TypeScript 설정은 tsconfig.json 파일에서 합니다. 디렉터리에 tsconfig.json 파일이 있으면 해당 디렉터리가 TypeScript 프로젝트의 루트임을 나타냅니다. tsconfig.json 파일은 프로젝트를 컴파일하는 데 필요한 루트 파일과 컴파일러 옵션을 지정합니다.
tsconfig.json 파일을 생성합니다. 다음과 같이 기본적인 설정을 작성합니다.
// tsconfig.json
{
  "include": ["src"], // 자바스크립트로 컴파일 하고 싶은 모든 디렉터리
  "compilerOptions": {
    "outDir": "build" // 자바스크립트 파일로 생성될 디렉터리(빌드 디렉터리)
  }
}다음 명령어로도 기본적인 tsconfig.json 파일 생성이 가능합니다.
$ npm i -g typescript
$ tsc --initTarget (기본값: ES3)
최신 브라우저는 모든 ES6 기능을 지원하므로 ES6는 좋은 선택입니다. 코드가 이전 환경에 배포된 경우 더 낮은 target을 설정하거나 최신 환경에서 코드 실행이 보장되는 경우 더 높은 target을 설정하도록 선택할 수 있습니다.
// tsconfig.json
{
  "include": ["src"],
  "compilerOptions": {
    "outDir": "build",
    "target": "ES6"
  }
}Lib(라이브러리)
타입스크립트에게 어떤 API를 사용하고 어떤 환경에서 코드를 실행하는 지를 지정할 수 있습니다. (target 런타임 환경이 무엇인지를 지정합니다.)
프로그램이 브라우저에서 실행되면 lib에 "DOM" 유형 정의를 할 수 있습니다.
- DOM: window, document 등
// ex)
{
  "compilerOptions": {
    "lib": ["ES6", "DOM"]
  }
}strict
모든 엄격한 타입 검사 옵션을 활성화합니다. strict 플래그는 프로그램 정확성을 더 강력하게 보장하는 광범위한 타입 검사 동작을 가능하게 합니다.
tsconfig.json 에서 "strict": true를 통해 strict mode로 해주면, Declaration Files 가 없는 경우에 대해서도 에러를 띄워줍니다.
{
  "compilerOptions": {
    "strict": true
  }
}참고
'Language > TypeScript' 카테고리의 다른 글
| TypeScript 사용법 및 JavaScript와의 비교 (22) | 2024.03.13 | 
|---|---|
| [TypeScript] JSDoc Reference 사용 방법 (0) | 2023.05.04 | 
| [TypeScript] 인터페이스(Interface) 사용 방법 (0) | 2023.04.26 | 
| [TypeScript] 클래스(Class) 사용 방법 (0) | 2023.04.22 | 
| [TypeScript] 다형성(Polymorphism) (0) | 2023.04.15 | 
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!
 
                  ![[TypeScript] JSDoc Reference 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FoPcSq%2FbtsBrMLYVkJ%2FAAAAAAAAAAAAAAAAAAAAADg-y62nJkI4w1-sgAJ5PROsX_quP4vWC8AIceLFrUWe%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1764514799%26allow_ip%3D%26allow_referer%3D%26signature%3DA6Hs5mhTNYXRq0uZ%252BTL%252BjYBefWU%253D) 
                  ![[TypeScript] 인터페이스(Interface) 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fssno3%2FbtsBub5HDrh%2FAAAAAAAAAAAAAAAAAAAAANuRUQd6zrMIG9hWU6yCgkiPPxcfdOhRma2biGYGtAua%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1764514799%26allow_ip%3D%26allow_referer%3D%26signature%3DC%252FRtf15WrtRO7I2zuW0VtryXSlM%253D) 
                  ![[TypeScript] 클래스(Class) 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FeEBw8H%2FbtsBurUyKu5%2FAAAAAAAAAAAAAAAAAAAAABOk1qyGIUb-_NHILeox3SsBNNbpprIGaBP6BXq_ZCR9%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1764514799%26allow_ip%3D%26allow_referer%3D%26signature%3DRiRAHVKVp1%252BKJPLnuusAZYVBeIQ%253D)