As any coder gains experience, they inevitebly learn more and more ways to solve the same problem. The very first consideration is simplicity. We probably want to use as simple and direct a solution as possible - to avoid over-engineering. But the simplest solution is not necessarily the shortest solution. After simplicity, the very next consideration should be expressiveness. You should always be thinking about how deeply a new developer is going to have to delve into your code to understand what’s going on.
Possibly you have heard it the other way: An express app with Nuxt.js as renderer (like in express-template).But did you know that you can use express inside a serverMiddleware?