API: nuxt.render(req, res)

You can use Nuxt.js as a middleware with nuxt.render for your node.js server.

Example with Express:

  1. const { loadNuxt, build } = require('nuxt')
  2. const app = require('express')()
  3. const isDev = process.env.NODE_ENV !== 'production'
  4. const port = process.env.PORT || 3000
  5. async function start() {
  6. // We get Nuxt instance
  7. const nuxt = await loadNuxt(isDev ? 'dev' : 'start')
  8. // Render every route with Nuxt.js
  9. app.use(nuxt.render)
  10. // Build only in dev mode with hot-reloading
  11. if (isDev) {
  12. build(nuxt)
  13. }
  14. // Listen the server
  15. app.listen(port, '0.0.0.0')
  16. console.log('Server listening on `localhost:' + port + '`.')
  17. }
  18. start()

It's recommended to call nuxt.render at the end of your middlewares since it will handle the rendering of your web application and won't call next()