Nuxt3-全局错误页面

728 阅读1分钟

快速实现

package.json的同级目录下创建error.vue

思路

这个应该没什么思路之类的,Nuxt3官方提供了默认的全局错误拦截,用于拦截渲染失败,找不到路由等错误,但是自己的项目看到是定制化到牙齿,所以是要替换掉这个默认页面的。

在项目根目录下创建error.vue

//./error.vue
<template>
  <button @click="handleError">发生错误。返回首页</button>
  <div>{{ error }}</div>
</template>
<script setup lang="ts">
const props = defineProps({
  error: Object
})
const handleError = () => clearError({ redirect: '/' })
</script>

很简单的一个实现,可以在这个页面加上站内推荐之类的提升用户体验