我需要在 vue ssr 应用程序中持久化状态,但不明白如何实现这一点。
作为存储,我想使用饼干。
当我按照自述文件中编写的插件安装插件时,没有任何反应,这很奇怪:我预计会出现错误,因为 js-cookie 调用"窗口"。
问题是:如何在 vue/ssr 中实现 vuex-persistedstate?
我可以在 req.cookie 中访问 cookie,但我无法在浏览器中设置 cookie,这是意料之中的,因为我的商店在服务器端填满,而 js-cookie 调用在服务器端。
直到他们在源代码中解决此问题,我才以这种方式管理:
存储.js
import CreatePersistedState from 'vuex-persistedstate'
let PersistedState
if (process.browser) {
PersistedState = CreatePersistedState(yourOptions)
}
export default PersistedState
商店.js
import CreatePersistedState from 'src/util/plugins/storage'
...
const plugins = []
if (process.browser) {
plugins.push(CreatePersistedState)
}
export default function createStore() {
return new Vuex.Store({
state,
modules,
actions,
mutations,
getters,
strict: false,
plugins: plugins
})
}