Как реализовать vuex-persistedstate в vue / ssr - PullRequest
0 голосов
/ 06 июля 2018

Мне нужно сохранить состояние в приложении vue ssr, но я не могу понять, как это реализовать.

В качестве хранилища я хочу использовать куки.

Когда я устанавливаю плагин, как написано в readme , ничего не происходит, это странно: я ожидаю ошибку, потому что js-cookies вызывает "window".

Вопрос в том, как реализовать vuex-persistedstate в vue / ssr?

Я могу получить доступ к cookie-файлам в req.cookies, но не могу установить cookie-файлы в браузере, и это ожидается, потому что мой магазин заполняется на стороне сервера, а js-cookies вызывает на стороне сервера.

1 Ответ

0 голосов
/ 13 июля 2018

Пока они не исправили это в исходном коде, мне удавалось так:

storage.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
  })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...