Использование плагина для установки файлов cookie как на стороне сервера, так и на стороне клиента - PullRequest
0 голосов
/ 29 октября 2019

Я использую модуль cookie-universal-nuxt и пытаюсь создать небольшой плагин, который устанавливает cookie, который должен быть доступен как на стороне сервера, так и на стороне клиента.

class Cookie {
  constructor (app) {
    this.initCookies(app);
  }

  initCookies (app) {
    if (process.server) {
      let sample = app.$cookies.get('sample');
      if (typeof sample === 'undefined') {
        sample = 'value';
      }
      app.$cookies.set('sample', sample, {
        path: '/',
        maxAge: 60 * 60 * 24 * 365 * 2,
      });
      // This logs an empty value server-side the first time
      // the cookie is set. If I reload the page everything is fine?
      console.log(app.$cookies.getAll());
    }
  }
}

export default ({ app }, inject) => {
  inject('Cookie', new Cookie(app));
};

Как и в комментариях в приведенном выше коде состояния;в первый раз (файл cookie еще не установлен), тогда консольное сообщение всегда будет пустым, и я не могу понять, почему?

Если я уберу проверку сервера, т.е. if (process.server), тогда я все равно ничего не получу при выполнении кодана сервере, а я могу видеть cookie, как и ожидалось на клиенте?

...