When SPA frameworks such as Vue, React, and Angular came about, one of the benefits of using them was to move the task of rendering your application away from the server and into the client. This meant that servers were only required to render a minimal HTML file consisting of some kind of root element that the application would be mounted into, and the asset references of the JavaScript and CSS files needed by the application. For example, if we run the application now and look at its source using a web browser, this is all we receive from the server:
Notice the only elements rendered within the body tags are our app-root element and JavaScript references. Once the JavaScript assets are loaded, they then render the application and mount it into the DOM using the root element that we rendered as a placeholder...