TypeScript
Проверка типов
По умолчанию Nuxt не проверяет типы при запуске nuxt dev или nuxt build, из соображений производительности.
Чтобы включить проверку типов при сборке или в режиме разработки, установите vue-tsc и typescript как dev-зависимости:
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
deno add -D npm:vue-tsc npm:typescript
Затем выполните команду nuxt typecheck, чтобы проверить типы:
npx nuxt typecheck
Чтобы включить проверку типов во время сборки или разработки, вы также можете использовать опцию typescript.typeCheck в своём файле nuxt.config:
export default defineNuxtConfig({
typescript: {
typeCheck: true,
},
})
Автоматически генерируемые типы
При запуске nuxt dev или nuxt build Nuxt генерирует следующие файлы для поддержки типов в IDE (и при проверке типов):
.nuxt/nuxt.d.ts
Этот файл содержит типы любых модулей, которые вы используете, а также ключевые типы, требуемые Nuxt. Ваша среда разработки должна автоматически распознавать эти типы.
Некоторые из ссылок в файле относятся к файлам, которые генерируются только внутри вашей директории buildDir (.nuxt), и поэтому для полной типизации вам потребуется запустить nuxt dev или nuxt build.
.nuxt/tsconfig.json
Этот файл содержит рекомендуемую базовую конфигурацию TypeScript для вашего проекта, включая используемые алиасы, внедренные Nuxt или модулями, которые вы используете, так что вы можете получить полную поддержку типов и автодополнение путей для алиасов, таких как ~/file или #build/file.
imports в nuxt.config, чтобы подключать каталоги помимо стандартных. Это удобно для автоимпорта типов, которые вы используете по всему приложению.tsconfig.json напрямую — важные настройки могут затереться. Вместо этого расширяйте конфиг через nuxt.config.ts. Подробнее о расширении конфигурации.Узнайте больше о том, как расширить эту конфигурацию.
./.nuxt/tsconfig.json, будут перезаписаны опциями из вашего tsconfig.json.
Перезапись вроде "compilerOptions.paths" своей конфигурацией приведёт к тому, что TypeScript не учтёт разрешение модулей из ./.nuxt/tsconfig.json, и перестанут распознаваться, например, модули #imports.
Если нужно расширить опции из
./.nuxt/tsconfig.json, используйте свойство alias в nuxt.config — Nuxt подхватит их и дополнит ./.nuxt/tsconfig.json.Строгие проверки
TypeScript предоставляет определённые проверки, чтобы обеспечить большую безопасность и анализ вашей программы.
Строгие проверки в Nuxt включены по умолчанию при включённой опции typescript.typeCheck, чтобы повысить безопасность типов.
Если вы сейчас переводите кодовую базу на TypeScript, можно временно отключить строгие проверки, задав strict: false в nuxt.config:
export default defineNuxtConfig({
typescript: {
strict: false,
},
})