Prerendering is a web static generator method that will take a dynamic website and turn it into a static web application.
You then:
The website (called a progressive static site) is created at build time via a static site generator where every statically exported HTML page is an entry point to the full application.
The page is created at built time.
Example with React: see React - Server-rendered markup (renderToString / hydrate)
The principle is:
There are some use-cases where prerendering might not be a great idea.
wget \
--recursive \ # Download the whole site.
--page-requisites \ # Get all assets/elements (CSS/JS/images).
--adjust-extension \ # Save files with .html on the end.
--span-hosts \ # Include necessary assets from offsite as well.
--convert-links \ # Update links to still work in the static version.
--restrict-file-names=windows \ # Modify filenames to work in Windows as well.
--domains yoursite.com \ # Do not follow links outside this domain.
--no-parent \ # Don't follow links outside the directory you pass in.
https://hostname.com/whatever/path # The start URL to download
Name | Headless browser used | Create React App Support |
---|---|---|
React Snap | pupetteer | Yes |
react-snapshot | jsdom | Yes |
prerender-spa-plugin | pupetteer / jsdom | WebPack |
phenomic | Yes | |
Prep | PhantomJs | No |
A lot are present on this page: alternatives
Other: