您正在浏览 Nuxt 2 文档。前往 Nuxt 3 文档, 或了解更多关于 Nuxt 2 长期支持


middleware 属性

为应用程序的特定页面设置中间件。


  • 类型: StringArrayFunction
    • 元素: StringFunction

命名中间件

通过在 middleware/ 目录中创建文件可以创建命名中间件,文件名即为中间件名称。

middleware/authenticated.js
export default function ({ store, redirect }) {
  // 如果用户未认证
  if (!store.state.authenticated) {
    return redirect('/login')
  }
}
pages/secret.vue
<template>
  <h1>Secret page</h1>
</template>

<script>
  export default {
    middleware: 'authenticated'
  }
</script>

匿名中间件

如果只需要在特定页面使用中间件,可以直接使用函数(或函数数组):

pages/secret.vue
<template>
  <h1>Secret page</h1>
</template>

<script>
  export default {
    middleware({ store, redirect }) {
      // 如果用户未认证
      if (!store.state.authenticated) {
        return redirect('/login')
      }
    }
  }
</script>
Edit this page on GitHub Updated at Tue, Apr 14, 2026