diff --git a/docs/2.guide/3.going-further/3.modules.md b/docs/2.guide/3.going-further/3.modules.md index a17a430d2c..5aa96a6163 100644 --- a/docs/2.guide/3.going-further/3.modules.md +++ b/docs/2.guide/3.going-further/3.modules.md @@ -375,6 +375,40 @@ export default defineNuxtModule({ }) ``` +#### Injecting Server Routes With `addServerHandler` + +```ts +import { defineNuxtModule, addServerHandler, createResolver } from '@nuxt/kit' + +export default defineNuxtModule({ + setup(options, nuxt) { + const resolver = createResolver(import.meta.url) + + addServerHandler({ + route: '/api/hello', + handler: resolver.resolve('./runtime/server/api/hello/index.get.ts') + }) + } +}) +``` + +You can also add a dynamic server route: + +```ts +import { defineNuxtModule, addServerHandler, createResolver } from '@nuxt/kit' + +export default defineNuxtModule({ + setup(options, nuxt) { + const resolver = createResolver(import.meta.url) + + addServerHandler({ + route: '/api/hello/:name', + handler: resolver.resolve('./runtime/server/api/hello/[name].get.ts') + }) + } +}) +``` + #### Injecting Other Assets If your module should provide other kinds of assets, they can also be injected. Here's a simple example module injecting a stylesheet through Nuxt's `css` array.