I use nuxt server middlewares in my project. They catch every request, whenever it's a page defined in the pages directory or something else (static assets etc). I want to limit some of my middlewares to catch only requests to pages. How can I achieve this?
I use nuxt server middlewares in my project. They catch every request, whenever it's a page defined in the pages directory or something else (static assets etc). I want to limit some of my middlewares to catch only requests to pages. How can I achieve this?
Share Improve this question asked Mar 10 at 17:22 RomalexRomalex 1,82914 silver badges16 bronze badges1 Answer
Reset to default 0You can use the path property. Make a middleware myMiddleware.js or whatever you want to name it, then configure it in nuxt.config.ts/js:
// server/middleware/myMiddleware.js
export default defineEventHandler((event) => {
// Your middleware logic
console.log('This is a page request!');
});
// nuxt.config.ts
export default defineNuxtConfig({
serverMiddleware: [
{
handler: '~/server/middleware/myMiddleware.js',
// Limit to page routes only, excluding static files and others
path: '/:slug*', // Match all page routes (e.g., /about, /blog/anything)
},
],
});