使用插件在服务器端和客户端设置cookie

时间:2019-10-29 18:18:47

标签: cookies plugins nuxt

我正在使用cookie-universal-nuxt模块,并试图创建一个小的插件,该插件设置一个cookie,该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了吗?

0 个答案:

没有答案