2

我需要在 vue ssr 应用程序中保持状态,但不明白如何实现这一点。

作为存储,我想使用cookies。

当我按照自述文件中的说明安装插件时,什么也没发生,这很奇怪:我预计会出现错误,因为 js-cookies 调用“窗口”。

问题是:如何在vue/ssr中实现vuex-persistedstate?

我可以访问 req.cookies 中的 cookie,但我无法在浏览器中设置 cookie,这是预期的,因为我的存储在服务器端填充,而 js-cookies 在服务器端调用。

4

1 回答 1

1

在他们在源代码中解决这个问题之前,我是这样管理的:

存储.js

import CreatePersistedState from 'vuex-persistedstate'

let PersistedState

if (process.browser) {
  PersistedState = CreatePersistedState(yourOptions)
}

export default PersistedState

store.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
  })
}
于 2018-07-13T12:11:25.597 回答