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="/">Go back home</NuxtLink>
</div>
</template>
「エラーページ」と呼ばれていますが、これはルートではなく、~/pages
ディレクトリに配置すべきではありません。同じ理由で、このページ内で definePageMeta
を使用すべきではありません。とはいえ、NuxtLayout
コンポーネントを利用してレイアウトの名前を指定することで、エラーファイル内でレイアウトを使用することは可能です。
エラーページには単一のプロップ 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