Plugins

Use plugins to extend Nitro's runtime behavior.

Plugins are auto-registered (filename ordering) and run synchronously on the first nitro initialization. They receive nitroApp context, which can be used to hook into lifecycle events.

Scanning pattern: plugins/**/*.{ts,mjs,js,cjs}

You can order the plugins by prefixing them with a number:

plugins/
1.first.ts
2.second.ts

Example: Simple plugin

// plugins/test.ts
export default defineNitroPlugin((nitroApp) => {
console.log('Nitro plugin', nitroApp)
})

If you have plugins in another directory, you can use the plugins option:

nitro.config.ts
import { defineNitroConfig } from 'nitropack'
export default defineNitroConfig({
plugins: ['my-plugins/hello.ts']
})
nuxt.config.ts
export default defineNuxtConfig({
nitro: {
plugins: ['my-plugins/hello.ts']
}
})