vite.dev
Why Vite Guide
Excerpt
As web applications have grown in size and complexity, the tools used to build them have struggled to keep up. Developers working on large projects have experienced painfully slow dev server startups, sluggish hot updates, and long production build times. Each generation of build tooling has improved on the last, but these problems have persisted. … ## A Unified Toolchain Vite originally relied on two separate tools under the hood: esbuild for fast compilation during development, and Rollup for thorough optimization in production builds. This worked, but maintaining two pipelines introduced inconsistencies: different transformation behaviors, separate plugin systems, and growing glue code to keep them aligned. … - **Full bundle mode**: Unbundled ESM was the right tradeoff when Vite was created because no tool was both fast enough and had the HMR and plugin capabilities needed to bundle during dev. Rolldown changes that. Since exceptionally large codebases can experience slow page loads due to the high number of unbundled network requests, the team is exploring a mode where the dev server bundles code similarly to production, reducing network overhead.
Source URL
https://vite.dev/guide/whyRelated Pain Points
Long Build Times
7Build time remains a significant pain point for C++ developers, with 43% reporting it as a major issue. Multiple systemic reasons contribute to slow builds, though there is a slight downward trend indicating some ecosystem improvement.
Performance degradation of HMR in large applications
7Hot module replacement response times degrade significantly as applications grow larger, with even hot updates taking several seconds and disrupting the development flow. This occurs despite Vite's design to maintain near-instant response regardless of app size.
High number of unbundled network requests causing slow page loads
6Exceptionally large codebases experience slow page loads due to the high number of unbundled network requests in ESM-based development, requiring network overhead optimization.
Overlapping dependencies with redundant transformation tooling
6Vite relies on multiple third-party dependencies with overlapping duties (esbuild, Rollup, SWC) that are written in different languages, creating efficiency problems when passing data between tools and introducing inconsistent behavior.