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
컴포넌트를 사용하고 레이아웃의 이름을 지정하여 에러 파일에서 레이아웃을 사용할 수 있습니다.
에러 페이지는 처리할 에러를 포함하는 단일 prop - error
를 가집니다.
error
객체는 다음 필드를 제공합니다:
{
statusCode: number
fatal: boolean
unhandled: boolean
statusMessage?: string
data?: unknown
cause?: unknown
}
사용자 정의 필드가 있는 에러가 있는 경우, 이들은 손실됩니다; 대신 data
에 할당해야 합니다:
throw createError({
statusCode: 404,
statusMessage: 'Page Not Found',
data: {
myCustomField: true
}
})
※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/guide/directory-structure/error