vue3 使用 vue-router 的方式和 vue2 基本一样,只不过初始化路由时需要用到一些函数来定义而已,另外 vue-cli 工具本身在创建 vue3 项目时就可以根据提示来进行安装配置 vue-router , 所以本篇只是针对那些忘记安装的小伙伴。
第一步肯定是要先安装啦:npm install vue-router@4
接着我们在根目录 src 下创建 router 目录并定义 index.js
下面是 src/router/index.js 的代码

// 1. 引入这两个函数来初始化路由
import { createRouter, createWebHashHistory } from "vue-router"
// 2. 配置路由
const routes = [{path: '/info',name: 'info',component: () => import('@/pages/info'),// 路由元信息,随你怎么定义,笔者一般采用这种方式来定义路由权限然后结合路由拦截,// 下面的 auth:true 表示需要授权登录才可以进入此页面。meta: {       auth: true,},},{path: '/login',name: 'login',component: () => import('@/pages/login'),meta: {auth: false,},}
]
// 3. 创建路由实例
const router = createRouter({history: createWebHashHistory(), // 表示使用 hash 模式,即 url 会有 # 前缀routes
})
// 4. 你还可以监听路由拦截,比如权限验证。
router.beforeEach((to, from, next) => {// 1. 每个条件执行后都要跟上 next() 或 使用路由跳转 api 否则页面就会停留一动不动// 2. 要合理的搭配条件语句,避免出现路由死循环。const token = cookies.get('token')if (to.meta.auth) {if (!token) {return router.replace({name: 'login'})}next()} else {next()}
})
export default router

接下来在项目的入口文件 main.js 里面引入 router/index.js

// main.js
import { createApp } from 'vue'
import router from '@/router/index.js' // 引入
import App from '@/App.vue'
const app = createApp(App)
app
.use(router)
.mount('#app')
export default app

至此就完成啦
另外笔者还整理了 Vue3 学习指南总结,有兴趣的话可以去瞧一瞧。

Vue3 如何使用 vue-router 以及路由权限拦截相关推荐

  1. 面试考问Vue Router 的路由模式,这个回答令我直接出局!

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  2. 你真的理解 Vue Router 的路由模式吗?

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  3. 面试考问Vue Router 的路由模式,这个回答令我直接出局~

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  4. Vue Router 实现路由控制实战

    本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习. Vue Router 实现路由控制实战 前言 一.什么是单页面应用及实现前端路 ...

  5. vue admin 动态路由权限管理

    主要思路 通过后端接口返回数据 进行判断 (通过后端实现的权限管理有许多种),在这里 我们主要通过 关键字即匹配前端路由meta.menu值来实现权限管理通常会把路由权限列表存至vux中 箭头所指的便 ...

  6. Vue3中的Vue Router初探

    对于大多数单页应用程序而言,管理路由是一项必不可少的功能.随着新版本的Vue Router处于Alpha阶段,我们已经可以开始查看下一个版本的Vue中它是如何工作的. Vue3中的许多更改都会稍微改变 ...

  7. vue router children 路由变了 组件没变_Vue.js从零开始——路由(2)

    因为一些原因,我断更了几天时间,因为要准备面试 + 不在家,抱歉大家! 题图是一个大概的 Vue 模块化项目组成,当然因为我从网上找的,所以可以忽略当中的 Bulma,这其实是一个 CSS 框架,往简 ...

  8. 注意避坑,Vue Router 4: 路由参数在 created/setup 时不可用

    有梦想,有干货,微信搜索 [大迁世界] 关注这个在凌晨还在刷碗的刷碗智. 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考 ...

  9. Vue Router 命名路由、(嵌套)命名视图

    命名路由 在Vue Router中 除了 path 之外,还可以为任何路由提供 name. const routes = [{path: '/user/:username',name: 'user', ...

最新文章

  1. 讨论:Service层需要接口吗?
  2. linux安装R包的安装
  3. 好的开始是成功的一半:网页优化之标题篇
  4. 深入理解分布式技术 - 配置中心
  5. java json自定义_java返回json设置自定义的格式
  6. MYSQL 从头开始-1
  7. python画4维图_用Python 画个六维图,涨姿势了
  8. 了解 SharePoint 2010 开发中的关键设计决定
  9. oracle怎么扩大连接数,如何增加ORACLE连接数
  10. 採集和输出 DeckLink Studio 4K
  11. 学数据分析究竟要懂哪些统计学?全都给你梳理好了,拿走不谢
  12. jQuery用户从服务器端注册登录
  13. Costomize Print Output
  14. 【14浙江省赛 B ZOJ 3777】Problem Arrangement 【状压dp】 【CCPC-Wannafly Winter Camp Day2 K Sticks】
  15. 软考信息安全工程师经验分享以及报考建议
  16. 正弦积分与余弦积分函数
  17. 知识图谱 helloword
  18. 桌面快捷方式计算机打不开,桌面快捷方式打不开,详细教您桌面快捷方式打不开怎么解决...
  19. Bugku CTF 每日一题 旋转跳跃 BUUCTF 九连环
  20. python battleship_codecademy的Python里的battleship报错

热门文章

  1. c语言课程设计台球厅系统,c语言画图用c语言画一个五角星和一个两周期 – 手机爱问...
  2. 这样问 bug,怪不得没人回你... | 程序员该有的提问技巧
  3. 十年大猿猴生活两茫茫-30几岁是不是程序员生涯的一个句号
  4. Qt 自定义动画按钮(超酷炫)
  5. TWS耳机的技术痛点
  6. 一招搞定HANA升级和迁移-从HANA1.0到2.0
  7. MacBook PyCharm激活码
  8. 蜗牛星际b款装服务器系统,蜗牛星际安装Win 10?如此简单!(不用换SSD)
  9. 一键安装系统的各种好处
  10. 看完后你会明白什么是垃圾回收机制