defineRouteMiddleware()
Alias of defineNuxtRouteMiddleware for typing navigation guard functions.
Syntax
export default defineNuxtRouteMiddleware((to, from) => { ... }) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
middleware | (to, from) => void | RouteLocationRaw | false | Promise<...> | Yes | Guard run before each matched navigation. Return `navigateTo()` to redirect, `abortNavigation()` / `false` to cancel. |
Returns
void — Wrapper providing types for the middleware function.
Examples
// middleware/auth.global.ts — runs on every route
export default defineNuxtRouteMiddleware((to) => {
const user = useState('user')
if (to.meta.requiresAuth && !user.value) {
return navigateTo('/login')
}
})
// middleware/role.ts — named, opt-in via definePageMeta
export default defineNuxtRouteMiddleware((to, from) => {
if (!hasRole(to.meta.role as string)) {
return abortNavigation()
}
})
Notes
Files in `middleware/` are auto-registered: a `.global` suffix runs on
every route, otherwise it is named and opted into via
`definePageMeta({ middleware: [...] })`. Runs on both server (first
load) and client (navigations). `defineNuxtRouteMiddleware` is the
canonical name.