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
元件並指定佈局的名稱。錯誤頁面有一個單一的 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
}
})