Nuxt/docs/content/3.docs/3.deployment/99.presets/node.md

1.4 KiB

Node.js function

Discover the Node.js function preset with Nitro to attach Nuxt as a middleware to any Node.js server.

::list

  • 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 ::

::alert{icon=IconPresets} Back to presets list. ::

Usage

You can use the Nuxt config to explicity set the preset to use:

export default {
  nitro: {
    preset: 'node'
  }
}

Or directly use the NITRO_PRESET environment variable when running nuxt build:

NITRO_PRESET=node npx nuxt build

Entrypoint

When running nuxt build with the Node preset, the result will be an entrypoint exporting a function with the familiar (req, res) => {} signature used in express, h3, etc.

::alert{type=warning} 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 'http'
import handler from './.output/server'

const server = createServer(handler)
server.listen(8080)