Evan You 打造,基于原生 ESM 的极速开发服务器 + Rollup/Rolldown 生产打包——秒级冷启动,毫秒级 HMR,前端构建的新事实标准
webpack 时代,前端开发体验的最大痛点是——每次启动开发服务器都要几十秒甚至几分钟"打包完再打开页面",改一行代码还要等几秒 rebuild。这是因为 webpack 必须先把所有模块打包成一个 bundle 才能跑。
Vite 的核心洞察:开发时根本不需要打包。现代浏览器早已原生支持 ES Modules(<script type="module">),浏览器自己会按需加载模块。Vite 只做一件事:启动一个轻量 HTTP 服务器,浏览器请求哪个 .ts/.vue/.tsx 文件就现场编译哪个,用 esbuild(Go)预构建第三方依赖,用 Rollup/Rolldown 做生产打包。
结果:冷启动从 30 秒变成 300 毫秒,HMR 从"改一行等 3 秒"变成"改完瞬间就刷新"。Vue、React、Svelte、Solid、Qwik、Astro、Nuxt、SvelteKit、Remix、Storybook 等框架陆续把默认构建器换成了 Vite。
本教程 10 章从零开始:Vite 的原理与安装、项目结构、配置文件、环境变量、CSS/资源/静态文件处理、HMR 与热更新、插件开发、SSR 与静态生成、库模式、环境 API,最后从 webpack/CRA 迁移。
六大特性让 Vite 成为 2026 年几乎所有框架的默认构建器
浏览器按需拉取模块,无需 bundle,项目规模再大冷启动也是常数时间。
基于 ESM 的精准模块替换,改哪个模块就更新哪个,状态完整保留。
Go 实现的依赖预构建,比 webpack 的 babel 转译快 10-100 倍。
业界最成熟的 Tree-shaking 引擎,6.x 起逐步切换到 Rust 的 Rolldown。
一套 Rollup 兼容的插件 API,dev/build 共用,生态海量。
内置 SSR API,与 Nuxt/SvelteKit/Remix/Astro 等上层框架无缝协作。
从 npm create vite 到 SSR + 自定义插件,10 章覆盖 Vite 全栈
Vite 是什么、为什么快、原生 ESM vs bundler、esbuild + Rollup 双引擎、与 webpack 对比。
scaffold 命令、官方模板(vanilla/vue/react/svelte/solid/qwik)、TypeScript 默认、项目结构详解。
defineConfig、root/base/publicDir、resolve.alias、server 选项、build 配置、envPrefix、mode。
public vs src 资源、import.meta.url、?url/?raw/?inline、CSS Modules、PostCSS、Tailwind 集成。
import.meta.env、.env 文件链、VITE_ 前缀、loadEnv、TypeScript 类型补全、production/development/mode。
import.meta.hot API、accept/dispose/invalidate、框架 HMR 原理、自定义 HMR、常见失效场景。
Rollup 兼容插件、Vite 专属钩子 configResolved/transform/handleHotUpdate、写一个插件、常用插件精选。
createServer + ssrLoadModule、ssrManifest、与 Nuxt/Remix/SvelteKit 的关系、Environment API(Vite 6)。
build.lib、输出 ES/UMD/IIFE、external & globals、types 生成(vite-plugin-dts)、发布到 npm。
配置对照表、常见坑(process.env/Node polyfill/CommonJS)、代码调整清单、Rolldown 展望。