error.vue
Файл error.vue — это страница с ошибкой в приложении Nuxt.
В жизненном цикле приложения ошибки иногда возникают неожиданно. Файл error.vue позволяет заменить стандартный экран ошибки и показать своё оформление.
error.vue
<script setup lang="ts">
import type { NuxtError } from '#app'
const props = defineProps({
error: Object as () => NuxtError,
})
</script>
<template>
<div>
<h1>{{ error.statusCode }}</h1>
<NuxtLink to="/">Вернуться на домашнюю страницу</NuxtLink>
</div>
</template>
Несмотря на название «страница ошибок», это не маршрут: файл не кладут в
~/pages и не вызывают в нём definePageMeta. Лейаут по-прежнему можно подключить через NuxtLayout, указав имя лейаута.У компонента одно входное свойство — error с данными об ошибке.
Объект error предоставляет следующие поля:
interface NuxtErrorFields {
statusCode: number
fatal: boolean
unhandled: boolean
statusMessage?: string
data?: unknown
cause?: unknown
}
Произвольные поля на объекте ошибки не сохраняются. Передавайте их в data:
throw createError({
statusCode: 404,
statusMessage: 'Страница не найдена',
data: {
myCustomField: true,
},
})