我正在使用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了吗?