TypeScript
타입 검사
기본적으로 Nuxt는 성능상의 이유로 nuxt dev 또는 nuxt build를 실행할 때 타입 검사를 수행하지 않습니다.
빌드 또는 개발 시 타입 검사를 활성화하려면, vue-tsc와 typescript를 개발 의존성으로 설치하세요:
npm install --save-dev vue-tsc typescript
yarn add --dev vue-tsc typescript
pnpm add -D vue-tsc typescript
bun add -D 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나 사용 중인 모듈이 주입한 alias가 해결되어 있습니다. 이를 통해 ~/file 또는 #build/file과 같은 alias에 대한 전체 타입 지원과 경로 자동 완성을 사용할 수 있습니다.
imports 섹션을 사용하는 것을 고려하세요. 이는 앱 전반에서 사용하는 타입을 자동으로 import하는 데 유용할 수 있습니다../.nuxt/tsconfig.json에서 확장된 모든 옵션은 tsconfig.json에 정의된 옵션에 의해 덮어써집니다.
예를 들어 "compilerOptions.paths"와 같은 옵션을 직접 설정하면, TypeScript는 ./.nuxt/tsconfig.json의 모듈 해석을 반영하지 않습니다. 이로 인해 #imports와 같은 모듈 해석이 인식되지 않을 수 있습니다.
./.nuxt/tsconfig.json에서 제공하는 옵션을 추가로 확장해야 하는 경우, nuxt.config 내에서 alias 속성을 사용할 수 있습니다. Nuxt가 이를 인식하여 ./.nuxt/tsconfig.json을 적절히 확장합니다.엄격한 검사
TypeScript는 프로그램의 안전성과 분석을 높이기 위한 다양한 검사를 제공합니다.
엄격한 검사는 Nuxt에서 기본적으로 활성화되어 있어 더 높은 타입 안전성을 제공합니다.
코드베이스를 TypeScript로 변환 중이라면, nuxt.config에서 strict를 false로 설정하여 엄격한 검사를 일시적으로 비활성화할 수 있습니다:
export default defineNuxtConfig({
typescript: {
strict: false
}
})