首页 > 解决方案 > req 未定义 - nuxtServerInit

问题描述

我正在尝试使用本教程使用 Vuex 和 Nuxt 设置 Firebase 身份验证。但是,如果我console.log(req)undefined

在本教程中,vuex 操作是:

nuxtServerInit ({ commit }, { req }) {
  if (req.session && req.session.authUser) {
     commit(‘SET_USER’, req.session.authUser)
     req.session.cookie=”” + req.session.authUser
  }
 }

但是在教程中的任何地方都没有实际定义它。甚至直接来自他们拥有的文档:

actions: {
  nuxtServerInit ({ commit }, { req }) {
    if (req.session.user) {
      commit('user', req.session.user)
    }
  }
}

但我找不到您最初设置的位置req或如何在 Vuex 商店中访问它

标签: vuexnuxt.jsserver-side-rendering

解决方案


您需要创建一个 store/index.js 文件并在其中定义 nuxtServerInit 操作,就像您在第二个示例中所做的那样。

https://nuxtjs.org/docs/2.x/directory-structure/store/#the-nuxtserverinit-action


推荐阅读