nuxt logo

문서 번역(비공식)

Nuxt.js
Version:v3.17

TypeScript

Nuxt는 완전히 타입이 지정되어 있으며, 코딩 시 정확한 타입 정보를 사용할 수 있도록 유용한 단축키를 제공합니다.

타입 검사

기본적으로 Nuxt는 성능상의 이유로 nuxt dev 또는 nuxt build를 실행할 때 타입을 검사하지 않습니다.

빌드 또는 개발 시 타입 검사를 활성화하려면 vue-tsctypescript를 개발 의존성으로 설치하세요:

npm install --save-dev vue-tsc typescript

그런 다음, 타입을 검사하기 위해 nuxt typecheck 명령어를 실행하세요:

Terminal
npx nuxt typecheck

빌드 또는 개발 시 타입 검사를 활성화하려면, nuxt.config 파일에서 typescript.typeCheck 옵션을 사용할 수도 있습니다:

nuxt.config.ts
export default defineNuxtConfig({
  typescript: {
    typeCheck: true
  }
})

자동 생성된 타입

nuxt dev 또는 nuxt build를 실행하면, Nuxt는 IDE 타입 지원(및 타입 검사)을 위해 다음 파일들을 생성합니다:

.nuxt/nuxt.d.ts

이 파일에는 사용 중인 모듈의 타입과 Nuxt가 요구하는 주요 타입이 포함되어 있습니다. IDE는 이러한 타입을 자동으로 인식해야 합니다.

파일 내의 일부 참조는 buildDir(.nuxt) 내에서만 생성된 파일을 가리키므로, 전체 타입을 얻으려면 nuxt dev 또는 nuxt build를 실행해야 합니다.

.nuxt/tsconfig.json

이 파일에는 프로젝트에 대한 기본적인 TypeScript 설정이 포함되어 있으며, Nuxt 또는 사용 중인 모듈에 의해 주입된 해결된 별칭이 포함되어 있어 ~/file 또는 #build/file과 같은 별칭에 대한 전체 타입 지원과 경로 자동 완성을 얻을 수 있습니다.

기본 디렉토리 외의 디렉토리를 포함하기 위해 nuxt.configimports 섹션을 사용하는 것을 고려하세요. 이는 앱 전반에서 사용 중인 타입을 자동으로 가져오는 데 유용할 수 있습니다.

이 설정을 확장하는 방법에 대해 더 읽어보세요.

Daniel Roe가 내장된 Nuxt 별칭을 설명하는 비디오를 시청하세요.

Nitro는 또한 API 경로에 대해 자동으로 타입을 생성합니다. 또한, Nuxt는 전역적으로 사용 가능한 컴포넌트와 composables에서 자동으로 가져오는 것 및 기타 핵심 기능에 대한 타입도 생성합니다.

./.nuxt/tsconfig.json에서 확장된 모든 옵션은 tsconfig.json에 정의된 옵션에 의해 덮어쓰여질 것입니다. "compilerOptions.paths"와 같은 옵션을 자신의 설정으로 덮어쓰면 TypeScript가 ./.nuxt/tsconfig.json의 모듈 해석을 고려하지 않게 됩니다. 이는 #imports와 같은 모듈 해석이 인식되지 않게 할 수 있습니다. :br :br ./.nuxt/tsconfig.json에서 제공하는 옵션을 더 확장해야 하는 경우, nuxt.config 내에서 alias 속성을 사용할 수 있습니다. Nuxt는 이를 인식하고 ./.nuxt/tsconfig.json을 적절히 확장할 것입니다.

엄격한 검사

TypeScript는 프로그램의 안전성과 분석을 높이기 위한 특정 검사를 제공합니다.

엄격한 검사는 더 큰 타입 안전성을 제공하기 위해 Nuxt에서 기본적으로 활성화되어 있습니다.

현재 코드베이스를 TypeScript로 변환 중이라면, nuxt.config에서 strictfalse로 설정하여 엄격한 검사를 일시적으로 비활성화할 수 있습니다:

nuxt.config.ts
export default defineNuxtConfig({
  typescript: {
    strict: false
  }
})