Node.js function
Discover the Node.js function preset with Nitro to attach Nuxt as a middleware to any Node.js server.
Compatible with many Node.js servers
Drop-in usage with express or native HTTP server
Loads only the chunks required to render the request for optimal cold start timing
Back to presets list.
Usage
You can use the Nuxt config to explicitly set the preset to use:
nuxt.config.js|ts
export default {
nitro: {
preset: 'node'
}
}
Or directly use the NITRO_PRESET
environment variable when running nuxt build
:
NITRO_PRESET=node npx nuxt build
Entry point
When running nuxt build
with the Node preset, the result will be an entry point exporting a function with the familiar (req, res) => {}
signature used in express, h3, etc.
It is not recommended to use this preset directly, and particularly not with a 3rd-party server.
Example
Express middleware
import express from 'express'
import handler from './.output/server'
const app = express()
app.use(handler)
app.listen(3000)
Node server
import { createServer } from 'node:http'
import handler from './.output/server'
const server = createServer(handler)
server.listen(8080)