Vite 是尤雨溪打造的下一代前端构建工具,利用原生 ESM 实现秒级冷启动和即时热更新。81k Stars、Vue 官方御用构建器、支持 React/Svelte/Vue 等所有框架,比 Webpack 快 10 倍不止。配置简单、插件丰富,前端开发体验直接拉满。
🎤 引言
做前端的应该都被 Webpack 折磨过吧?项目一大,npm run dev 光启动就要等个 30 秒,改一行代码热更新还得等半天。效率?不存在的。
尤雨溪(Vue 作者)也受不了了,自己写了个新的构建工具——Vite。这名字源自法语"快"的意思,实至名归。
81k Stars,现在连 React、Svelte 这些框架官方都推荐用 Vite 作为首选构建工具。这波啊,尤大赢麻了。
⭐ 核心功能
Vite 的核心就一个字:快。
怎么做到的?
传统构建工具(Webpack)的工作方式是:先把所有模块打包成 bundle,然后才启动开发服务器。你改一行代码,它得重新打包整个项目。
Vite 不一样,它利用浏览器的原生 ES Module 能力,直接在浏览器里运行源码。启动时不需要打包,按需编译,秒开。
实际效果(官方 benchmark):
| 操作 | Webpack | Vite |
|---|---|---|
| 冷启动(大型项目) | 30s-60s | < 1s |
| 热更新(单文件) | 3-5s | < 50ms |
| 生产构建 | 2-5min | 10-30s |
| 内存占用 | 高 | 低 50% |
比如我之前做个中台项目,Webpack 启动要 45 秒,切换到 Vite 后,3 秒启动。45 秒变 3 秒,这差距懂的都懂。
核心特性:
- 原生 ESM:浏览器直接运行源码,无需预先打包
- 按需编译:只编译当前访问的页面,按需加载
- 热更新即触:修改代码后,浏览器几乎瞬间响应
- 生产构建:使用 Rollup 打包,优化力度大,产物小
- 插件生态:兼容 Rollup 插件,生态丰富
📥 安装与使用
环境准备:
# 需要 Node.js 18+
node --version
# 创建项目(支持 Vue/React/Svelte/Preact 任选)
npm create vite@latest my-project -- --template vue
cd my-project
npm install
npm run dev项目结构:
my-project/
├── index.html # 入口 HTML
├── src/
│ ├── main.js # 主入口
│ ├── App.vue # 组件
│ └── assets/
├── public/ # 静态资源
├── vite.config.js # Vite 配置
└── package.jsonvite.config.js 基础配置:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
plugins: [vue()],
server: {
port: 3000, // 开发服务器端口
open: true // 自动打开浏览器
},
build: {
target: 'esnext', // 编译目标
minify: 'esbuild' // 使用 esbuild 压缩
}
})常用命令:
npm run dev # 启动开发服务器
npm run build # 构建生产版本
npm run preview # 预览生产构建添加依赖:
# React 项目
npm create vite@latest my-react -- --template react
# Svelte 项目
npm create vite@latest my-svelte -- --template svelte🎯 适用场景
Vite 很香的地方:
- Vue 3 项目(官方推荐,Vue CLI 已停止维护)
- React/Svelte/Preact 等框架项目
- 中小型前端项目(启动快,效率高)
- 需要快速原型开发的时候
比如:你今天接了个需求,要快速做个后台管理系统的 Demo。Vite + Vue 3 分分钟跑起来,不用等 Webpack 打包,半小时就能给客户演示。
Vite 可能不太适合:
- 超大型项目(thousands of modules),生产环境构建可能比 Webpack 慢
- 需要支持 IE11(Vite 默认不支持,需要额外配置)
- 老项目迁移成本高(如果项目本身用的 Webpack)
坑点提醒:Vite 的热更新在某些场景下可能会失效,比如你改了 vite.config.js,得手动重启开发服务器。还有生产构建用 Rollup,有些 Webpack 插件不兼容,迁移前先查清楚。
🔍 对比/替代方案
| 构建工具 | 冷启动 | 热更新 | 生态 | 学习成本 |
|---|---|---|---|---|
| Vite | 1s 内 | 50ms | 丰富 | 低 |
| Webpack | 30s+ | 3-5s | 成熟 | 高 |
| esbuild | 快 | 慢 | 一般 | 低 |
| Parcel | 快 | 中等 | 一般 | 低 |
Webpack 统治前端构建这么多年,Vite 能杀出来,靠的就是开发体验。现在连 React 官方文档都用 Vite 了,Webpack 的时代可能真的要过去了。
⚠️ 注意事项
- Node 版本:Vite 需要 Node.js 18+,老系统记得升级
- Vue 2 不支持:Vite 不支持 Vue 2,想用得先升级到 Vue 3
- 兼容性配置:生产环境默认目标
esnext,如果需要兼容旧浏览器,要在vite.config.js里配置target - 公共路径:部署到子路径时,记得设置
base: '/your-sub-path/'
✅ 总结
Vite 就是那种"用过了就回不去"的工具。
尤雨溪说过:"我理想中的开发环境,是改一行代码,保存,然后几乎同时在浏览器里看到变化。" Vite 做到了。
适合:所有新项目、Vue 3 项目、追求开发体验的团队
缺点:大型项目生产构建可能比 Webpack 慢,IE11 不支持
推荐指数:⭐⭐⭐⭐⭐(真香警告)
相关链接:
- Vite 官网
- GitHub 仓库
- Vite 文档
- awesome-vite - 生态资源汇总