GitHub Pages
By pre-rendering your pages, you can remove the need for a production server. You can then deploy your app to any static host, such as GitHub Pages.
Static hosts always expect one
.html
file per URL. This means you need to pre-render all your pages, regardless of render mode. For example, if you have SPA pages, then you also need to pre-render them which will generate.html
files with an empty<body>
.
You can choose between following deploy strategies:
- Build locally and upload
dist/client/
to GitHub Pages. - Let a GitHub action build and upload
dist/client/
to GitHub Pages. - Let GitHub Pages build your app.
The
$ vite build
command generatesdist/client/
containing all static assets.
We recommend using the GitHub Pages Deploy Action. For example, vike.dev
uses the GitHub action at .github/workflows/docs.yml to automatically deploy whenever a commit changes the docs.
You can try out your production build locally with $ vite preview
, or any other tool such as $ serve dist/client/
.
If you don't deploy your app at your domain root
https://my-domain.com
, but athttps://my-domain.com/somewhere/nested
instead, then change your app's Base URL. You need to do this if you use the GitHub Page domainusername.github.io/repo-name/*
.
⚠️Make to sure to add an empty file
.nojekyll
, otherwise GitHub Pages won't serve static files starting with_
.