Nuxt服务器中间件在布局上

时间:2019-09-28 13:13:23

标签: node.js vue.js nuxt.js

我在生产中遇到nuxt中间件的问题。

在localhost上,我只使用了这样的基本中间件:

const cookieparser = process.server ? require('cookieparser') : undefined
const Cookie = process.client ? require('js-cookie') : undefined
export default function ({ app, redirect, route, req }) {
  let token = null
  if (process.server) {
    if (req.headers.cookie) {
      const parsed = cookieparser.parse(req.headers.cookie)
      try {
        token = parsed.authToken
      } catch (e) {
        console.log(e)
      }
    }
  } else if (process.client) {
    token = Cookie.get('authToken')
  }
  if (token === null || token === false) {
    return redirect({
      name: 'login',
      query: {
        redirect: route.fullPath
      }
    })
  }
}

虽然效果很好,但是在生产中,它甚至没有首先运行。它尝试投放该页面,然后运行。问题是我有一些需要记录的用户数据的组件,这些组件是由服务器端的asyncData获取的。但是首先,尝试渲染组件并引发错误,并且中间件甚至无法启动。

然后我寻找可以在config中定义的服务器中间件,但是如何在布局中调用它?

0 个答案:

没有答案