【发布时间】:2019-09-29 09:31:12
【问题描述】:
我正在开发一个 nuxt.js 项目。在这里,我想在 Nuxt-Store 中使用 localStorage,并且还想从 Nuxt-Middleware 访问 localStorage 值。它显示一个错误。
localStorage 未定义。
我该如何解决这个问题?
这里是store/index.js
setUser(state, { user }){
state.user = user
state.isLoggedIn = true
localStorage.setItem('user', JSON.stringify(user));
localStorage.setItem('isLoggedIn', state.isLoggedIn);
},
我的中间件代码在这里-
export default function({ store, redirect, route}) {
const user = localStorage.getItem('user');
const loggedStatus = store.getters['isLoggedIn']
if (user) {
if(route.path == '/login' || route.path == '/user/temporary'){
return redirect('/')
}
return
}
if(!user){
return redirect('/login')
}
}
【问题讨论】:
-
localStorage是浏览器的本地,您无法在服务器端代码中访问它。这就是为什么你有store。 -
如果,我无法在服务器端使用。我可以从前端和中间件使用它吗?
标签: javascript vuex nuxt.js