/homein the browser's address bar and press Enter, then the page with the slug
homeis rendered in the server and served to the client. If we enter the URL
/contactin the browser's address bar and press Enter, then the page with the slug
contactis rendered in the server and served to the client.
/homein the browser's address bar and press Enter, and then once the page has loaded in the browser we go to the
/contactURL from a link in the page.
homeis rendered in the server and served to the client (as before)
contactis this time rendered in the client and displayed to the user
homepage "server-side Navigation" and the navigation process to get to the
contactpage "client-side Navigation"
homepage, and a Client-Side Render process (CSR) in the case of the
refreshbutton in the browser on a page that has been rendered in CSR)
/homein the diagram above) Frontity does the following:
/contactin the diagram above):
index.jsfile in the
srcfolder of the theme package you're using for your Frontity project.
client.js→ the entry point of our app when client-side takes controls
server.js→ the entry point of our app when server-side takes controls
server.jsone in Node.js and the
client.jsone in the browser, and it will ignore the
index.jsfile - which can, nevertheless, still exist.
"path", because they will fail if present in the client bundle (
"dot-env"for accessing environment variables, for example).
heto decode entities in the
server.js, but it weighs in at 73Kbs. You can therefore use
new DOMParser().parseFromString, which is available in the browser and so is essentially free, in the
useEffect) will also be executed only on the client-side.