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)

操作WebpackVite
冷启动(大型项目)30s-60s< 1s
热更新(单文件)3-5s< 50ms
生产构建2-5min10-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.json

vite.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 插件不兼容,迁移前先查清楚。


🔍 对比/替代方案

构建工具冷启动热更新生态学习成本
Vite1s 内50ms丰富
Webpack30s+3-5s成熟
esbuild一般
Parcel中等一般

Webpack 统治前端构建这么多年,Vite 能杀出来,靠的就是开发体验。现在连 React 官方文档都用 Vite 了,Webpack 的时代可能真的要过去了。


⚠️ 注意事项

  1. Node 版本:Vite 需要 Node.js 18+,老系统记得升级
  2. Vue 2 不支持:Vite 不支持 Vue 2,想用得先升级到 Vue 3
  3. 兼容性配置:生产环境默认目标 esnext,如果需要兼容旧浏览器,要在 vite.config.js 里配置 target
  4. 公共路径:部署到子路径时,记得设置 base: '/your-sub-path/'

✅ 总结

Vite 就是那种"用过了就回不去"的工具。

尤雨溪说过:"我理想中的开发环境,是改一行代码,保存,然后几乎同时在浏览器里看到变化。" Vite 做到了。

适合:所有新项目、Vue 3 项目、追求开发体验的团队

缺点:大型项目生产构建可能比 Webpack 慢,IE11 不支持

推荐指数:⭐⭐⭐⭐⭐(真香警告)


相关链接