Vue2的路由配置便捷方式

文章介绍了如何在Vue项目中使用更简洁的方式配置路由,包括引入组件的箭头函数导入,以及使用便捷的子路由和白名单机制,以提高代码质量和可读性。
摘要由CSDN通过智能技术生成

原本我们的路由配置是在router/index.js里面配置如图

图中我们需要引入 import xx from '@/views/xx' 需要的页面都要这样引入

还有白名单的方法也可以简化

import VueRouter from 'vue-router'
import Vue from 'vue'

import Layout from '@/views/layout'
import Login from '@/views/login'
import Dashboard from '@/views/dashboard'
import Article from '@/views/article'

Vue.use(VueRouter)

//路由配置
const router = new VueRouter({
  routes: [
    { path: '/login', component: Login },
    {
      path: '/',
      component: Layout,
      redirect: '/dashboard',
      children: [
        { path: 'dashboard', component: Dashboard },
        { path: 'article', component: Article }
      ]
    }
  ]
})

//白名单

 const whiteList = ['/login']
 router.beforeEach((to, next, from) => {
   const token = store.state.user.token
  if (token) {
     next()
     return
   }
   if (whiteList.includes(to.path)) {
     next()
     return
   }
   next('/login')
 })

export default router

 如图路由的便捷方式就不用在引入了,直接在后面用箭头函数写就可以了,这样还精简了我们的代码质量看着也很舒服!!!

import store from '@/store'
import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

//路由配置便捷方式

const routes = [
  { path: '/login', component: () => import('@/views/Login') },
  {
    // path: '/',
    // redirect: '/deshoard',
    path: '/',
    redirect: '/deshoard',
    component: () => import('@/views/Layout'),
    children: [
      // 子路由必须以路由展开 保证先渲染父路由 父路由的基础上展开子路由
      // 子路由不以/开头被认为简写 那么就会主动拼接 父路由/
      { path: 'deshoard', component: () => import('@/views/Deshoard') },
      { path: 'article', component: () => import('@/views/Article') }
      // { path: '/home/deshoard', component: () => import('@/views/Deshoard') },
      // { path: '/home/article', component: () => import('@/views/Article') }

    ]
  }
]

const router = new VueRouter({
  routes
})


//白名单的便捷方式

const whiteList = ['/login']
router.beforeEach((to, fron, next) => {
  if (store.state.user.token) return next()
  if (whiteList.includes(to.path)) return next()
  next('/login')
})

export default router

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值