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
}
})