Nuxt 2 reached end of life on 30 June 2024
It no longer receives bug fixes or security patches. Upgrade to Nuxt 4 or get extended support from HeroDevs

Using Nuxt Programmatically

You can use Nuxt programmatically to use it as a middleware giving you the freedom of creating your own server for rendering your web applications.

You might want to use your own server with your middleware and your API. That's why you can use Nuxt programmatically.

Nuxt Constructor

To see the list of options to give to Nuxt, see the configuration section.

const { loadNuxt, build } = require('nuxt')

// Check if we need to run Nuxt in development mode
const isDev = process.env.NODE_ENV !== 'production'

// Get a ready to use Nuxt instance
const nuxt = await loadNuxt(isDev ? 'dev' : 'start')

// Enable live build & reloading on dev
if (isDev) {
  build(nuxt)
}

// We can use `nuxt.render(req, res)` or `nuxt.renderRoute(route, context)`

You can take a look at the nuxt-express and adonuxt starters to get started quickly.

Debug logs

If you want to display Nuxt logs, you can add the following to the top of your file:

process.env.DEBUG = 'nuxt:*'