Я использую модуль 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, как и ожидалось на клиенте?