Si esperáis encontrar un manual de cómo migrar, este no es el post adecuado, sólo es un comentario a pie de pagina.
Ahora mismo el proyecto infra: https://blog.apascualco.com esta corriendo en mi cluster de Kubernetes, detrás de un nginx. Este proyecto lo pensé como una SPA estática, sin carga en el lado del servidor. Sin embargo sí hay un backend desarrollado en Goland que suministra todo lo necesita la aplicación.
Para desplegar esta aplicación de manera que se desplegará continuamente, desde mi Jenkins. Desarrollando, la mi front en Vue, no me di cuenta que la pagina que estaba detrás de un nginx no se comportaba como esperaba.
En la aplicación de Vue, no se generaban las vistas como contenido estático, por lo tanto cuando entraba en el «home» y navegaba todo funcionaba correctamente, pero si entraba en la url de manera manual, nginx devolvía un 404
El problema de la integración con nginx es que realmente todo funcionaba y si ponía un rewrite de la url, debería de funcionar, pero en ese caso no encontraba nada que estuviera en la ruta /css, /js, debido al propio rewrite.
Estuve prácticamente un día peleándome con el enrutado de las direcciones de nginx, hasta que probe de manera local el resultado del Build de Vue, para ver que el contenido estático funcionaba adecuadamente y no lo hacia.
Por eso mismo me vi obligado a «migrar» y digo migrar porque Nuxt es un framework de un framework (cosas de gente de front). Nuxt si que genera un código estático independiente, sin necesidad de lanzar un node en el lado del servidor.
Observación personal
Generar una aplicación con diferentes capas de backend, me resulta un poco sobre estructurar y aplicar niveles innecesarios. Bueno para ser más concretos, le estamos dado demasiada carga en la responsabilidades del front (Disclaimer: siempre y cuando exista un backend).
Si tenemos: front -> backend -> backend, esto ilustra cual es el problema
Se podría argumenta, que hay necesidades que el actual backend no soporta y que requiere una acción del lado del servidor.
Pero el problema real, o bien es la comunicación entre equipos, el front esta motivado o incluso hay un problema de arquitectura (una de las opciones es: frontend for backend, para evitar estos casos).
Cada caso es un mundo y aún que estoy bastante seguro de lo que digo, se podrían buscar opciones o incluso aceptar este tipo de arquitecturas.