Javascript 中间件中的NuxtJS集Cookie
我正在构建一个nuxtjs应用程序,并尝试从全局中间件设置cookie。我在GitHub上找到了一个贡献,它展示了一种实现这一点的方法 所以我实现了这样的中间件Javascript 中间件中的NuxtJS集Cookie,javascript,cookies,nuxt.js,Javascript,Cookies,Nuxt.js,我正在构建一个nuxtjs应用程序,并尝试从全局中间件设置cookie。我在GitHub上找到了一个贡献,它展示了一种实现这一点的方法 所以我实现了这样的中间件 export default function ({ isServer, res, query }) { if (query.lang) { if (isServer) { res.setHeader("Set Cookie", [`lang=${query.lang}`]); } else {
export default function ({ isServer, res, query }) {
if (query.lang) {
if (isServer) {
res.setHeader("Set Cookie", [`lang=${query.lang}`]);
} else {
document.cookie = `lang=${query.lang}`;
}
}
}
我的问题是,当我以?lang=xxx
作为参数访问我的应用程序时,我总是遇到if条件的else块。所以我得到了错误
document is not defined
有人知道我的代码有什么问题吗。我看不出github上发布的代码有什么不同。您应该使用
在numxt.config.js
中的模块部分添加此内容:['cookie-universal-nuxt',{alias:'cookiz'}],
您可以使用numtserverinit
直接在商店中使用它:
async nuxtServerInit({commit,state,dispatch},
{app、store、route、req、res、error、redirect}
) {
应用程序$cookiz.set('lang',route.query.lang)
})
或者在中间件中:
导出默认函数({app,res,query}){
if(query.lang){
应用程序$cookiz.set('lang',query.lang)
}
}
您应该使用
在numxt.config.js
中的模块部分添加此内容:['cookie-universal-nuxt',{alias:'cookiz'}],
您可以使用numtserverinit
直接在商店中使用它:
async nuxtServerInit({commit,state,dispatch},
{app、store、route、req、res、error、redirect}
) {
应用程序$cookiz.set('lang',route.query.lang)
})
或者在中间件中:
导出默认函数({app,res,query}){
if(query.lang){
应用程序$cookiz.set('lang',query.lang)
}
}
我遇到了nuxt生产版本的问题,它根本不会从页面或组件设置任何cookie。我遇到了nuxt生产版本的问题,它根本不会从页面或组件设置任何cookie