Nuxt中如何给一组路由添加中间件

How to add middleware to a group of routes in Nuxt

根据docs:中间件将按以下顺序依次执行:

现在我想知道如何将中间件添加到像这样的 slug 中的一组页面:

pages/
--| _slug/
-----| comments.vue
-----| index.vue

我认为有一些选择:

1) 我可以将中间件添加到目录中的每个单独页面,但这并不枯燥。

2) 另一种解决方案是将中间件添加到带有条件路由的 nuxt.config.js 中,但这也不是该代码的正确位置,除此之外它会 运行 也在任何其他路线上。

3) 我也许可以将嵌套路由与仅包含单个 <nuxt-child> 元素的模板一起使用,但我不确定副作用:我仍然可以使用页面组件属性吗?这是否将所有内容嵌套在另一个 DOM 元素中?

感谢任何帮助。

好的,我想我的'option 3'是去这里的路:

创建文件 _slug.vue 并将其添加到与 _slug/ 目录相同嵌套级别的页面:

pages/
--| _slug/
-----| comments.vue
-----| index.vue
--| _slug.vue

_slug.vue 文件中添加中间件 属性:

<template>
  <nuxt-child/>
</template>

<script>
export default {
  middleware: 'myslugmiddleware',
}
</script>