TLDR: ¿Hay alguna manera de apagar el servidor Nuxt de forma programática y adecuada mientras está en el serverMiddleware?
Recientemente aprendí cómo crear mi propia API dentro de Nuxt 2 a través de serverMiddleware. Antes de conocer serverMiddleware, tenía que ejecutar mi API en un backend separado. Así que creo que estoy familiarizado con el manejo de rechazos no controlados.
Aquí hay un ejemplo de mi código de backend express:
const express = require('express') const app = express() const port = process.env.PORT const server = app.listen(port, () => { console.log(`App is running on port ${port}`) }) process.on("unhandledRejection", (err) => { console.log(err.name, err.message); console.log("Unhandled Rejection. Shutting Down."); server.close(() => { process.exit(1); }); }); Ahora, cuando se usa Nuxt, app.listen() y server.close() no funcionan porque Nuxt ejecuta su propio servidor. Si bien process.exit(1) hace el trabajo, por lo que entiendo, eso en sí mismo no es ideal.
¿Hay alguna forma de apagar correctamente y mediante programación el servidor Nuxt mientras está en el serverMiddleware?