REACT DEPLOYMENT
How to deploy a React app without DevOps
Deploy a React frontend by letting Ample detect whether it is a static Vite build or part of a server-rendered application.
DIRECT ANSWER
The short version
You do not need to hand-configure a server to deploy a React app. Ample inspects the project, runs its production build, and publishes the result using the runtime the project needs. A Vite React app is usually a static deployment, while a Next.js or custom React server uses a Node runtime.
WHO THIS IS FOR
Before you start
This guide is for React builders who can run the app locally but do not want to configure a VM, reverse proxy, certificate, and release process themselves.
STEP BY STEP
How to do it
-
1
Confirm the React project type
Check package.json and the framework config. Vite, Next.js, and custom Node servers have different production outputs even though they all use React.
-
2
Run a production build locally
Use the project's existing build script. Fix missing imports, type errors, and required public environment variables before deploying.
npm run build -
3
Let Ample plan the runtime
The plan records whether the app is static or needs Node, along with any linked API or database.
ample plan --write -
4
Deploy
Apply the plan and wait for the public URL. The platform activates the release after its health check succeeds.
ample up
FIT CHECK
What this supports
Good fit
- Vite React static sites
- Next.js React applications
- React frontends linked to a separate API
- npm, pnpm, yarn, and bun projects
Know the limits
- React alone does not identify the production runtime
- Browser-visible environment variables are public and must not contain secrets
- Workspace projects with internal packages should deploy from the workspace root
TROUBLESHOOTING
Common failure modes
The browser loads an empty root
Check asset paths, client errors, and the built output rather than relying only on the development server.
The frontend calls localhost
Inject the deployed API URL through a framework-appropriate public environment variable or Ample link.
A workspace package cannot be resolved
Deploy from the workspace root and keep the workspace lockfile and sibling package available to the build.