templates/spa

This template leverages Remix SPA Mode to build your app as a Single-Page Application using Client Data for all of you data loads and mutations.

⚠️ This is built on top of the Remix Vite template. Remix support for Vite is currently unstable and not recommended for production.

📖 See the Remix Vite docs for details on supported features.

Setup

npx create-remix@latest --template remix-run/remix/templates/spa

Development

You can develop your SPA app just like you would a normal Remix app, via:

npm run dev

Production

When you are ready to build a production version of your app, npm run build will generate your assets and an index.html for the SPA.

npm run build

Preview

You can preview the build locally with vite preview to serve all routes via the single index.html file:

npm run preview

![WARNING] vite preview is not designed for use as a production server

Deployment

You can then serve your app from any HTTP server of your choosing. The server should be configured to serve multiple paths from a single root /index.html file (commonly called "SPA fallback"). Other steps may be required if the server doesn't directly support this functionality.

For a simple example, you could use sirv-cli:

npx sirv-cli build/client/ --single