nuxtjs框架使用nuxt generate命令生成静态站点,刷新页面无法获取cookie,从而更新Vuex

发布时间 2023-03-22 21:16:31作者: study_php_java

在使用nuxt generate命令生成静态站点时,由于它是在静态环境下运行的,因此是无法访问服务器的req对象的,因此在nuxtServerInit方法中不能通过req.headers.Cookie获取到请求头中的Cookie值。

nuxtServerInit方法只会在服务端运行一次,在第一次加载应用程序时会被调用,它主要用于初始化数据,例如将用户信息存储到 Vuex store 中。在静态环境下,由于无法获取请求头中的信息,因此无法在nuxtServerInit方法中获取到请求头中的Cookie值

所以在store的nuxtServerInit也无法使用插件 cookie-universal-nuxt 来获取cookie

但是可以在页面加载时获取cookie,所以可以这样操作:

在layout页面的created方法中 获取cookie,更新到vuex中