如何在nuxtServerInit()中获取cookie?

时间:2018-10-07 16:41:51

标签: javascript vue.js async-await nuxt.js ssr

我正在使用vue-cookie程序包,该程序包使我可以轻松设置和获取Cookie。我想要的是在nuxtServerInit()中获得此Cookie:

async nuxtServerInit() {
   const res = await this.$axios.post('/me', {}, {
       headers: {
          'Authorization': 'Bearer ' + $nuxt.$cookie.get('token')
       }
   })
}

但是,我总是会收到$nuxt is not defined错误。请帮忙!

1 个答案:

答案 0 :(得分:2)

vue cookie是tiny-cookie的包装。小型Cookie用于浏览器。所以它不能在服务器上工作,例如在nuxtServerInit

在nuxtServerInit中,您应该从req.cookies中获取cookie

async nuxtServerInit(_, { req }) {
   console.log(req.headers.cookie)
}