Favicon of vite

vite

A frontend build tool with an instant dev server, fast hot module replacement, and a Rolldown-based production bundler.

Vite is a build tool for modern frontend projects, made up of two connected pieces: a development server that serves your code over native ES modules with fast hot module replacement, and a build command that bundles your app with Rolldown for production. The name is French for "quick," which matches its focus: skipping slow bundling during development entirely and only compiling what the browser actually asks for. It's aimed at frontend developers who want a fast local dev loop and an optimized production build, with an extensible plugin system for anything the defaults don't cover.

Key features

  • Instant server start: the dev server doesn't bundle your app before serving it, so startup stays fast regardless of app size.
  • Lightning-fast HMR: hot module replacement updates the browser almost instantly as you edit code, built on top of native ES modules.
  • Rich dev server features: adds enhancements over native ES modules beyond what browsers support out of the box, covering the gap between raw ESM and a full dev experience.
  • Optimized production builds: the build command bundles your app with Rolldown, pre-configured to output optimized static assets.
  • Universal plugin interface: a plugin API for extending both the dev server and the build process, shared across the ecosystem.
  • Fully typed APIs: both the plugin API and the JavaScript API ship with full TypeScript typing support.
  • Companion packages: the monorepo also includes @vitejs/plugin-legacy for supporting older browsers and create-vite for scaffolding new projects.
  • Community and sponsor support: the project is supported through GitHub Sponsors, and the README notes a partnership where Warp's Oz agents help triage incoming issues.
  • Active chat community: a Discord server (chat.vite.dev) is linked directly from the README for real-time discussion and support.

Ideal use cases

Vite fits frontend developers and teams who want a fast local development loop, especially on larger codebases where older bundler-based dev servers get slow to start or slow to update on every save. It's a reasonable default for new frontend projects across frameworks, given its plugin system and the create-vite scaffolding tool, and it suits teams that want a single tool covering both development serving and production bundling rather than stitching those together from separate tools.

It's less relevant if you're not building a browser-targeted frontend project at all, or if your project has hard requirements around a specific existing bundler's plugin ecosystem that doesn't have a Vite equivalent yet. Since the production build now goes through Rolldown, teams with very specific, deeply customized legacy Webpack or Rollup configurations may need to check plugin compatibility before migrating existing projects over. If your app still needs to support older browsers that don't handle modern JavaScript output well, that's covered by the separately maintained legacy plugin rather than being a reason to avoid Vite outright.

Installation

The README's own documentation link (vite.dev) is where full setup instructions live; the repository itself is a monorepo containing the vite package, @vitejs/plugin-legacy, and create-vite, each with their own changelog. It doesn't include a quick-start command directly in the text shown here.

For a new project, the standard entry point is the create-vite scaffolding tool included in this same monorepo:

npm create vite@latest

To add Vite to an existing project instead, install it as a dependency:

npm install vite

If you need to support older browsers in your production build, @vitejs/plugin-legacy is the companion package for that, installed and configured as a Vite plugin. Contribution instructions for working on Vite itself are in the repository's CONTRIBUTING.md, and each package in the monorepo (vite, @vitejs/plugin-legacy, create-vite) tracks its own version and changelog independently, so you can check exactly what changed before upgrading any one of them.

Categories:

Frequently asked questions

Share:

Stars
81.9K
Forks
8.4K
Last commit
6 hours ago
Repository age
6 years
License
MIT
Self-hosted
No
Activity score
88/100
View Repository
Built with:

Similar to vite

Favicon

 

  
  
Favicon

 

  
  
Favicon