vue-router路由懶加載 和權限控制,


vue-router路由懶加載 和權限控制,今天剛好搞了一個基於node token驗證的小demo
所以下面介紹下,路由懶加載
1、為什么要使用路由懶加載呢
 用vue.js寫單頁面應用時,會出現打包后的JavaScript包非常大,影響頁面加載,我們可以利用路由的懶加載去優化這個問題,當我們用到某個路由后,才去加載對應的組件,這樣就會更加高效
2、用法
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
  routes: [
    {
      path: '/',
meta: {
requiresAuth: true
},
      component: resolve => require(['components/Hello.vue'], resolve)
    },
    {
        path: '/about',
        component: resolve => require(['components/About.vue'], resolve)
    }
  ]
})

  

3、對路由鈎子進行權限控制
//注冊全局鈎子用來攔截導航
router.beforeEach((to, from, next) => {
  //獲取store里面的token
  let token = store.state.token;
  //判斷要去的路由有沒有requiresAuth
  if(to.meta.requiresAuth){
    if(token){
      next();
    }else{
      next({
        path: '/login',
        query: { redirect: to.fullPath }  // 將剛剛要去的路由path(卻無權限)作為參數,方便登錄成功后直接跳轉到該路由
      });
    }
 
  }else{
    next();//如果無需token,那么隨它去吧
  }
});

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM