Components
Composables
defineVueMiddleware
Declare one or more typed navigation middleware functions.
function defineVueMiddleware(
middleware: VueRouterMiddleware | VueRouterMiddleware[],
): VueRouterMiddleware[]// app/middlewares/auth.ts
export default defineVueMiddleware((to) => {
const user = useCurrentUser();
if (!user.value && to.path !== "/login") {
return "/login";
}
});The function always normalizes its argument into an array. Each middleware receives to and from, then can return the same values as a Vue Router guard: a destination, false, true, undefined, or a promise.
Suffix the file with .global.ts to run it on every route.