路由定义
{
path:"/index",
component:()=>import('@/view/index.vue'),
meta:{
requireAuth:true,
},
name:"index",
}
在main.js文件
const router = new VueRouter({ ... })
router.beforeEach((to, from, next) => {
// 从cookie中取值并给Vuex中的token赋值,也可以在session拿
store.commit('setToken',Cookie.get('token'))
//判断该路由是否为true,如果为true就是要登录,再去判断token是否存在。存在就执行跳转,不存在就跳转登录页面
if(to.meta.requireAuth){
if(store.state.token){
next()
}else{
next({path:'/login'})
}
}else{
next()
}
// ...
})
router.afterEach((to, from) => {
// ...
})