首页 > 解决方案 > Nuxt.js 中间件 this._router.init 不是函数

问题描述

使用此示例https://nuxtjs.org/guide/routing#middleware设置中间件我收到错误 this._router.init is not a function。

在 default.vue 我有

export default {
    router: {
      middleware: 'test'
    },
    ...
}

在中间件中,我有包含以下内容的文件 test.js:

export default function (context) {
  context.userAgent = process.server ? context.req.headers['user-agent'] : navigator.userAgent
}

基本上我复制了该页面上的所有内容,看看它是否有效,但它没有。

标签: middlewarenuxt.js

解决方案


你读错了。default.vue 中不应该有这样的东西。它说它应该在 nuxt 配置中。

nuxt.config.js

export default {
  router: {
    middleware: 'stats'
  }
}

或者如果它的页面没有路由器密钥

export default {
  middleware: 'stats'
}

推荐阅读