类型检查
默认情况下,出于性能原因,Nuxt 在运行nuxi dev
或nuxi build
时不会检查类型。
但是,您可以通过将vue-tsc
和typescript
安装为 devDependencies 并启用nuxt.config
文件中的typescript.typeCheck
选项 或 使用 nuxi 手动检查你的类型。
yarn nuxi typecheck
自动生成类型
当您运行nuxi dev
或nuxi build
时,Nuxt 会为 IDE 类型支持(和类型检查)生成以下文件:
.nuxt/nuxt.d.ts
该文件包含您正在使用的任何模块的类型,以及 Nuxt 3 所需的密钥类型。 您的 IDE 应该会自动识别这些类型。
文件中的一些引用是仅在buildDir
(.nuxt
) 中生成的文件,因此对于完整类型,您需要运行nuxi dev
或nuxi build
。
.nuxt/tsconfig.json
此文件包含为您的项目推荐的基本 TypeScript 配置,包括由 Nuxt 或您正在使用的模块注入的已解析别名,因此您可以获得完整的类型支持和别名的路径自动完成,例如~/file
或#build/file
。
Nitro 还为 API 路由 自动生成类型。
此外,Nuxt 还为全局可用的组件和从您的可组合项自动导入 以及其他核心功能生成类型。
请记住,从./.nuxt/tsconfig.json
扩展的所有选项都将被tsconfig.json
中定义的选项覆盖。
使用您自己的配置覆盖诸如compilerOptions.paths
之类的选项将导致 TypeScript 不考虑来自./.nuxt/tsconfig.json
的模块分辨率。 这可能导致无法识别诸如#imports
之类的模块解析。
如果您需要进一步扩展./.nuxt/tsconfig.json
提供的选项,您可以在nuxt.config
中使用 alias
属性 .nuxi
将拾取它们并相应地扩展./.nuxt/tsconfig.json
。
更严格的检查
TypeScript 带有某些检查,可以为您的程序提供更多安全性和分析。
将代码库转换为 TypeScript 并熟悉它后,您可以开始启用这些检查以提高安全性(阅读更多)。
为了启用严格的类型检查,你必须更新nuxt.config
:
export default defineNuxtConfig({
typescript: {
strict: true
}
})