Skip to main content
Practice Problems

What is middleware in Nuxt and how to use it?

Runs before page/route rendering.

Types

1. Global Middleware

Runs on every route.

```javascript // middleware/auth.global.ts export default defineNuxtRouteMiddleware((to, from) => { const user = useUser();

if (!user.value && to.path !== '/login') { return navigateTo('/login'); } }); ```

2. Named Middleware

Specific routes only.

```javascript // middleware/admin.ts export default defineNuxtRouteMiddleware((to, from) => { const user = useUser();

if (user.value?.role !== 'admin') { return abortNavigation('Not authorized'); } });

// pages/admin/index.vue definePageMeta({ middleware: 'admin' }); ```

3. Inline Middleware

```javascript // pages/dashboard.vue definePageMeta({ middleware: (to, from) => { if (!hasAccess()) { return navigateTo('/'); } } }); ```

Use Cases

Authentication: ```javascript export default defineNuxtRouteMiddleware((to) => { const token = useCookie('token');

if (!token.value) { return navigateTo('/login'); } }); ```

Logging: ```javascript export default defineNuxtRouteMiddleware((to, from) => { console.log(`Navigating from ${from.path} to ${to.path}`); }); ```

Short Answer

Interview ready
Premium

A concise answer to help you respond confidently on this topic during an interview.

Finished reading?
Practice Problems