Like Next.js / Nuxt but as do-one-thing-do-it-well Vite plugin.
Scaffold a new Vite + vite-plugin-ssr app
$ npm init vite-plugin-ssr
Explore how it's like to use vite-plugin-ssr
Use any UI framework (React, Vue, Svelte, Solid, ...) and any tool you want (Vuex/Redux/Storeon, RPC/GraphQL/REST, React/Vue Query, PWA, Service Workers, other Vite plugins, ...).
With vite-plugin-ssr, you integrate tools manually and keep architectural control.
vite-plugin-ssr gives you control only where it matters.
Everything else just works without the need to configure/decide anything.
With vite-plugin-ssr, you integrate tools manually instead of using a plugin system. While it means more work, it gives you a fundamentally simpler & more stable foundation to build upon.
The clean cut between vite-plugin-ssr and your UI framework (React/Vue/...) makes reasoning about your app easier.
Filesystem Routing, Data fetching, Pre-rendering (SSG), HMR, i18n, Link Prefetching, HTML Streaming.
Client Routing (fast page transitions) or Server Routing (simple architecture).
All render modes: SSR, SPA, SSG, HTML-only. Each page can use a different mode.
🌍 Deploy anywhere
Works with any server environement (Vercel, Cloudflare Workers, AWS EC2, AWS Lambda, Firebase, Google Cloud, ...).
Pre-render your app and deploy it to any static host (Netlify, GitHub Pages, Cloudflare Pages, ...).
Fits Cloudflare Workers's small worker size requirement like a glove.
The source code of vite-plugin-ssr has no known bug, every release is assailed against a heavy suite of automated tests, it's used in production by many companies, and it's stable: the v1 release will most likely have no breaking change with the current v0.3.x releases.
DX that scales to hundreds of kLOCs — HMR & dev start stays fast.
Architectural flexibility that scales from small hobby projects to large-scale enterprise projects.
Browser-side: Code Splitting (each page loads only the code it needs), Client Routing (pages loaded & rendered only on the browser-side upon page navigation), Link Prefetching (preload preponderant links for instantaneous page navigation), Lighthouse Score: 100%.
Fast Node.js cold start: pages are lazy-loaded so that adding pages doesn't increase the cold start of your serverless functions.
vite-plugin-ssr is simple, clear, and robust: no magic, no unexpected behavior, no conflation, no bugs (known in vite-plugin-ssr's source code), no breaking changes (as far as we can see).
With vite-plugin-ssr, you are under control; it's addictively fun.
Use vite-plugin-ssr to build frameworks.
You want to build an internal framework for your company? Or you want to build a Next.js alternative? Use vite-plugin-ssr to jump-start with a rock-solid foundation.
Crafted with attention to details and care for simplicity.
Upsteam contributions to Vite and others.
GitHub and Discord conversations are welcome.
⚗ Cutting Edge
We regularly participate in RFCs and we are usually among the first to support the latest techniques.