Guide Directory Structure
modules
Use the modules/ directory to automatically register local modules within your application.
Modules Directory
Nuxt scans the modules/
directory and loads them before starting. It is a good place to place any local modules you develop while building your application.
The auto-registered files patterns are:
modules/*/index.ts
modules/*.ts
You don't need to add those local modules to your nuxt.config.ts
separately.
// `nuxt/kit` is a helper subpath import you can use when defining local modules// that means you do not need to add `@nuxt/kit` to your project's dependenciesimport { createResolver, defineNuxtModule, addServerHandler } from 'nuxt/kit'export default defineNuxtModule({ meta: { name: 'hello' }, setup () { const { resolve } = createResolver(import.meta.url) // Add an API route addServerHandler({ route: '/api/hello', handler: resolve('./runtime/api-route') }) }})
When starting Nuxt, the hello
module will be registered and the /api/hello
route will be available.
Local modules are registered in alphabetical order. You can change the order by adding a number to the front of each directory name:
modules/ 1.first-module/ index.ts 2.second-module.ts
Read more in Missing link.