我当前正在使用以spa
模式运行的Nuxt
nuxt.config.js
mode: 'spa',
router: {
middleware: 'check-auth'
}
然后在我的中间件/检查身份验证
上我正在检查本地存储中是否存在auth
密钥,然后将用户重定向到根/
,否则重定向到/login
export default function ({ store, redirect }) {
if (process.client) {
if (localStorage.getItem('auth')) {
console.log('authenticated');
return redirect('/'); // authenticated, redirect to root
} else {
console.log('not authenticated');
return redirect('/login'); // redirect to /login
}
}
}
在我的 index.vue
<template>
<div>
<h1> This is Authenticated Page </h1>
</div>
</template>
<script>
export default {
created() {
axios.get('/users')
.then(response => {
commit('SET_USERS', response.data)
})
.catch(error => {
console.log(error)
});
}
}
</script>
但是,每当我第一次加载页面localhost:3000
时,它都会首先从创建的生命周期中触发API请求。它应该转到/login