Как реализовать настраиваемые страницы ошибок в NuxtJS 3?
Я пытаюсь заставить мое приложение NuxtJS 3 отображать пользовательские страницы ошибок. Приложение универсально с SSR. В документах NuxtJS 2 говорится, что нужно добавить
layouts/error.vue
файл, и он должен быть поднят. Однако при использовании NuxtJS 3 моя настраиваемая страница никогда не отображается - либо из-за жесткой перезагрузки, либо при переходе по неработающей ссылке с помощью
<NuxtLink>
через роутер.
Изменились ли пользовательские страницы ошибок в NuxtJS 3? Похоже, что в документации по ним нет документации https://v3.nuxtjs.org/docs/directory-structure/layouts.
2 ответа
https://v3.nuxtjs.org/guide/features/обработка ошибок/#пример
Вы можете настроить эту страницу ошибки, добавив ~/error.vue в исходный каталог вашего приложения вместе с app.vue. На этой странице есть единственная ошибка - ошибка, которая содержит ошибку, которую вы должны обработать.
./error.vue (вместе с app.vue)
<template>
<button @click="handleError">Clear errors</button>
</template>
<script setup>
const props = defineProps({
error: Object
})
const handleError = () => clearError({ redirect: '/' })
</script>
Если добавить страницу ошибки в корень, а не в папку layouts, то работает!