Most bread-and-butter sites are just fine as server-side rendered page. Large client-side frameworks reimplementing the browser and server functionality should be rare, when the situation actually calls for it.
If you really need a offline site then a simple service worker is all you need to cache the pages, not a big JS app.