我想像访问 Nuxt2 中间件一样访问 Nuxt3 路由中间件中的 req 对象。
代码如下:
Nuxt2
// middleware/auth.js
export default ({ store, req }) => {
if (req) {
store.dispatch('auth/initAuth', { req })
}
}
Nuxt3
// middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
if (to.params.id === '1') {
return abortNavigation()
}
return navigateTo('/')
})
我如何在 Nuxt 3 中间件中获得这个
req
对象,因为据我所知,我认为在 Nuxt3 路由中间件中我们只能获得 to
和 from
参数
您需要在
/server/middleware
中创建服务器中间件并使用defineEventHandler
处理程序:
export default defineEventHandler((event) => {
console.log('New request: ' + event.node.req.url)
})
在这里您可以找到更多信息:https://nuxt.com/docs/guide/directory-structure/server