我设置了@nuxtjs/auth
和来宾中间件。但是,如果我登录并重新启动浏览器并转到/login
端点,我可以访问该页面,因为只有在加载页面后才设置state.loggedIn
。是否可以在中间件和页面加载之前设置state.loggedIn
?
答案是肯定的。
您可以使用nuxtServerInit在返回服务器渲染页面之前检查请求的连接状态。
在store/index.js
actions: {
nuxtServerInit ({ commit }, { req }) {
if (req.session.user) {
commit('user', req.session.user)
}
}
}
参考链接: https://nuxtjs.org/guide/vuex-store#the-nuxtserverinit-action