TypeScript
Nuxt는 완전히 타입이 지정되어 있으며, 코딩 시 정확한 타입 정보를 사용할 수 있도록 유용한 단축키를 제공합니다.
타입 검사
기본적으로 Nuxt는 성능상의 이유로 nuxt dev
또는 nuxt build
를 실행할 때 타입을 검사하지 않습니다.
빌드 또는 개발 시 타입 검사를 활성화하려면 vue-tsc
와 typescript
를 개발 의존성으로 설치하세요:
npm install --save-dev vue-tsc typescript
그런 다음, 타입을 검사하기 위해 nuxt typecheck
명령어를 실행하세요:
npx nuxt typecheck
빌드 또는 개발 시 타입 검사를 활성화하려면, nuxt.config
파일에서 typescript.typeCheck
옵션을 사용할 수도 있습니다:
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.config의 imports
섹션을 사용하는 것을 고려하세요. 이는 앱 전반에서 사용 중인 타입을 자동으로 가져오는 데 유용할 수 있습니다.
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
에서 strict
를 false
로 설정하여 엄격한 검사를 일시적으로 비활성화할 수 있습니다:
export default defineNuxtConfig({
typescript: {
strict: false
}
})
※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/guide/concepts/typescript