一般你會這樣寫

router.beforeEach((to, from, next) => { const isLogin = sessionStorage.getItem('loginData') if (isLogin) { next() } else { next('/error') } })
這樣會造成死循環,解決辦法

router.beforeEach((to, from, next) => { const isLogin = sessionStorage.getItem('loginData') if (isLogin) { next() } else { if (to.path === '/login') { //這就是跳出循環的關鍵 next() } else { next('/login') } } })