Nuxt/docs/content/3.docs/8.deployment/99.presets/node.md
Daniel Roe 1a39eff502
docs: update migration guide for nuxt 3 (#3819)
Co-authored-by: Dan Pastori <dan@521dimensions.com>
Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
Co-authored-by: pooya parsa <pyapar@gmail.com>
2022-03-30 19:32:30 +02:00

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 explicitly 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

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.

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