在使用vue-admin-element时,看见 router index.js中底本有这么一个方法导出,发现它在等处的方法中调用的,不太理解他的作用是干嘛的
 index.js中
export function resetRouter() {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher // reset router
}
user.js中的登出方法
import router, { resetRouter } from '@/router'
  logout({ commit, state, dispatch }) {
    return new Promise((resolve, reject) => {
      logout(state.token).then(() => {
        commit('SET_TOKEN', '')
        commit('SET_ROLES', [])
        removeToken()
        resetRouter() //再次调用
        dispatch('tagsView/delAllViews', null, { root: true })
        resolve()
      }).catch(error => {
        reject(error)
      })
    })
  },
当把resetRouter()方法中的那两行注释掉的时候,再退出当前角色账号,再次登录时会发现页面报以下警告,提示的是重复命名路由定义,
 为什么会这样那 我在学习学习
 打印下router看看输出什么
 
 可见打印router后 里面有个matcher对象,在看下matcher里面包含了addRouters和match
 



















