In my recent project, I try to do as much as possible through serverside rendering, obviously there are things that still require JavaScript. I just extract those out as components. Right now I’m using WebComponents, but you can easily use Vue if you wanted.
Just treat it as a secondary layer for HTML, not the primary one.