Не работают запросы к API после сборки проекта

При тестировании в режиме разработки все ок, все axios запросы работают. После сборки (npm run build && npm run start), приложение запускается и работает, но запросы к API нет. В консоле ловлю _//localhost:3000/api/auth/generateKey пишет NOT FOUND 404

Client:

import axios from 'axios'
axios.get('api/auth/generateKey')

network screen

Backend - app.js

 const express = require('express')
 const app = express()
 const info = require('./routes/auth')
 const bodyParser = require('body-parser')
    
 app.use(bodyParser.json())
 app.use(bodyParser.urlencoded({
    extended: true
  })
)
           
app.use(function (req, res, next) {
    res.header('Access-Control-Allow-Origin', '*')
    res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, 
   OPTIONS')
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, 
   Content-Type, Content-Length, x-access-token')
    if (req.method === 'OPTIONS') {
      res.sendStatus(200)
    } else {
      next()
    }
  })

  app.use('/api/auth', auth({ express }))
  module.exports = app

Backend - index.js

const { loadNuxt, build } = require('nuxt')
const app = require('./app')
const port = process.env.PORT || 3000
const host = process.env.HOST || 'localhost'
const dev = process.env.NODE_ENV !== 'production'

async function start() {
  const nuxt = await loadNuxt(dev ? 'dev' : 'start')

  app.use(nuxt.render)
  if (dev) {
    build(nuxt)
  }

  app.listen(port, host, function() {
    console.log(`Server listening on http://${host}:${port}`)
  })
}
start()

nuxt.config.js

...
axios: {
  baseURL: '/'
},
...

Update:

Даже если добавить обычный маршрут с выводом hello world, он также не отрабатывает, в режиме же разработки все ок.

app.get('/test', (req, res) => {
   res.status(200).send('Hello world!')
})

Ответы (1 шт):

Автор решения: haswell

Ваш app.js:

const express = require('express')
const app = express()
...
app.get('/test', (req, res) => {
   res.status(200).send('Hello world!')
})
module.exports = { path: '/api', handler: app }

Ваш nuxt.config.js, добавим промежуточное серверное по:

serverMiddleware: ['~/path/to/app.js']

Соответственно из index.js убираем const app = require('./app'). Теперь маршрут до api должен работать, localhost:3000/api/test ---> Hello world!

→ Ссылка