【发布时间】:2022-11-03 05:02:08
【问题描述】:
我一直在寻找在布局中使用 Nuxt 中间件。但是我不确定我是否可以,因为我在努克斯特 2, 可能在努克斯特 3.
该项目有 2 种不同的布局:Public.vue 和 Admin.vue。我只想在消耗的页面中使用中间件管理布局.因为使用它的页面应该只有登录用户才能访问,并且会在中间件内部进行检查。
我试过这个(不起作用):
管理布局 |管理员.vue
<template>
<div>
<client-only>
<admin-header />
</client-only>
<main>
<slot />
</main>
<client-only>
<admin-footer />
</client-only>
</div>
</template>
<script lang="ts">
import AdminHeader from "~~/components/admin/Header.vue"
import AdminFooter from "~~/components/admin/Footer.vue"
definePageMeta({
middleware: "admin-auth"
});
</script>
中间件 | adminAuth.ts
export default defineNuxtRouteMiddleware((to, from) => {
console.log(to);
console.log("Acessando o admin auth middleware");
})
【问题讨论】:
-
您的文件在
middleware目录中吗?也许尝试将其命名为admin-auth,不确定这是否有帮助。这似乎工作得很好:v3.nuxtjs.org/examples/routing/middleware 但是,是的,客户端中间件是可行的。