Deploy a React SPA
Deploy a React SPA as a seenode static site. Build to a folder, publish it, SPA routing on by default.
Last updated September 18, 2026
New to seenode? Start free: 7-day trial, no credit card. Static sites are $0.
This guide deploys an existing React SPA (Vite or Create React App) as a static site. seenode runs your build and serves the files. You do not need Express or a start command.
Note (Need a Node server?)
Prerequisites
- A seenode account
- Git configured on your machine
- A React SPA that builds to a folder (
distfor Vite,buildfor CRA)
Deploy on seenode
Push to Git
Commit the project and push it to GitHub or GitLab.
Create a Static site
From the dashboard, create a Static site and connect the repository. Do not create a Web Service for a client-only SPA.
Build settings
- Language: Node (detected, or pick a version under Languages)
- Build command:
npm install && npm run build - Publish directory:
dist(Vite) orbuild(CRA) - Client-side routing (SPA): leave on so deep links serve
index.html
Vite env vars that should be inlined at build time (for example
VITE_*) go in Envs. They are not available in the browser unless the build baked them in.Create
Create the site and watch Logs until the build finishes. The app is on the
*.seenode.appURL.
Troubleshooting
- 404 on client routes: confirm Client-side routing (SPA) is on, or add a rewrite
/*→/index.htmlon the Routing tab. Existing files still win. - Empty or wrong site: publish directory must be the folder that contains
index.htmlafternpm run build. - Missing env at runtime: static sites have no server. Public values must be prefixed and present at build (
VITE_,REACT_APP_). Secrets do not belong in a SPA bundle.
Starting from scratch?
Follow the official React and Vite docs, push the repo, then use the steps above. An older Express-on-web-service template still exists at example-react-with-express if you explicitly want a Node static server.
Next steps
Static sites
Publish directory, SPA routing, headers, and what static sites do not have.Custom domain
Point your own domain at the site, with automatic HTTPS.Environment variables
Build-time keys for static sites.