1、状态保存,即localstorage。
这里选择了 nuxt-vuex-localstorage(^1.3.0) 来做store的持久化保存。
modules: [
'@nuxtjs/style-resources',
'@nuxtjs/axios',
[
'nuxt-vuex-localstorage',
{
localStorage: ['localStorage']
}
]
]
2、登录token保存,以及运用。由于服务端渲染原因,服务端拿不到本地token,所以即使用上述方法将状态保存到localstorage里也没用,所以需要将token放在cooki里。
我做的时候 按 官网 写法,每次commit那里都不会成功,重启了一个空项目也没用,百思而不得其解。
参考文档: https://blog.csdn.net/weixin_43731904/article/details/84778439
也许你可以哦。
const actions = {
nuxtServerInit({ commit }, { req, app }) {
const { cookie } = req.headers
// console.log('nuxt serverinit: ', req.headers, req.config)
// console.log('nuxt serverinit: ', cookie, app.$cookies.get('token'))
if (cookie && app.$cookies.get('token')) {
// 这里commit 总是会报找不到setToken这个方法
// commit('setToken ', app.$cookies.get('token'))
}
}
}