Vue3中404页面捕获(图文详情)

Vue3中404页面捕获(图文详情)

在 Vue 项目中,捕获并处理 404 页面(即"未找到页面"或"页面不存在") 是非常重要的,尤其是在构建单页面应用程序(SPA, Single Page Application)时。由于 SPA 的路由是通过 JavaScript 动态管理的,因此如果用户访问了一个不存在的 URL,我们需要确保能够正确地显示 404 页面,而不是让浏览器返回默认的 404 错误。

前置条件,首先需在一个可用的vue3项目中正确安装了Vue router,如还没有请参考文章
Vue3中使用Router进行路由配置

404页面捕获

打开ElementPlus官网:https://element-plus.org/zh-CN/component/result

找到结果页引入样式作为404页面展示效果

在pages下添加error文件夹,同时新建404.vue页面

vue 复制代码
<template>
	<el-result icon="warning" title="404提示" sub-title="哎呀,不好意思你找的页面走丢了~">
		<template #extra>
			<el-button type="primary" @click="$router.push('/')">回到首页</el-button>
		</template>
	</el-result>
</template>

<script setup>
	import {} from "vue";
</script>

<style lang="scss" scoped></style>

查看vue router官网:https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html

找到404页面捕获设置

在router的index.js下添加路由捕获和404.vue页面加载

js 复制代码
import NotFound from "@/pages/404.vue";
const routes = [
	{ path: "/:pathMatch(.*)*", name: "NotFound", component: NotFound }
];

打开浏览器任意输入一个不存在的也面路由,即可跳转到404走丢页面,点击回到首页按钮可回到首页

相关推荐
OpenTiny社区2 小时前
从零开发 AI 聊天页要两周?试试这款 Vue3 垂直对话组件库 TinyRobot,直接开箱即用
前端·vue.js·github
Cobyte2 小时前
22.Vue Vapor 组件 props 的实现
前端·javascript·vue.js
白雾茫茫丶5 小时前
探索 Nuxt.js 全栈能力:用 Better-Auth 打造类型安全的 RBAC 权限系统
前端·vue.js·nuxt.js
向阳而生6605 小时前
文件上传也能玩出花?Vue3 教你优雅实现“选择文件”和“选择文件夹”🚀
vue.js
3630458415 小时前
Signal 带来的架构问题思考
前端·vue.js
古夕1 天前
第三方 SSO 接入实践:redirect_uri 编码、回调一致性与跨项目联调
前端·vue.js
Ruihong1 天前
Vue withDefaults 转 React:VuReact 怎么处理?
vue.js·react.js·面试
稀土熊猫君1 天前
一个人能做出什么开源项目?
vue.js·后端·开源
DarkLONGLOVE2 天前
快速上手 Pinia!Vue3 极简状态管理使用教程
javascript·vue.js
宸翰2 天前
解决 uni-app App 端 vue-i18n 占位符丢失:封装跨端可用的 tf 格式化方法
前端·vue.js·uni-app