vite与vue的cli的区别

Vite 和 Vue CLI(基于 Webpack)确实都能提供本地开发服务器(dev server),但它们的核心设计理念、构建机制和性能表现有本质区别


相同点(你感受到的"差不多")

功能 Vite Vue CLI
启动本地开发服务器 vite vue-cli-service serve
热更新(HMR)
支持 Vue 单文件组件(.vue)
内置 Babel / TypeScript 支持

所以日常开发体验上,命令行操作和基本功能确实"看起来差不多"


核心区别(本质不同)

维度 Vite Vue CLI (Webpack)
底层原理 原生 ES 模块(ESM) + 开发时按需编译 打包整个应用 → 启动服务
启动速度 极快(秒开,与项目大小无关) 🐢 (项目越大越慢,需打包所有依赖)
热更新(HMR) 瞬间更新(只更新改的文件) 🐢 较慢(需重新构建模块依赖图)
依赖预构建 esbuild(Go 编写,超快)预构建 npm 包 Webpack 打包所有依赖
生产构建 默认用 Rollup Webpack
配置方式 vite.config.js(更简洁) vue.config.js(Webpack 封装)
适用范围 不仅限 Vue!支持 React、Svelte、Lit 等 专为 Vue 设计(虽可配其他,但非主流)

举个形象的例子

Vue CLI(Webpack)像"盖楼前先造完整模型"
  • 启动时:把所有代码 + 依赖 全部打包成一个 bundle
  • 改一行代码:重新分析整个依赖图 → 重新打包受影响部分
  • 项目越大,等待越久
Vite 像"边盖边用,即拿即用"
  • 启动时:不打包 !直接让浏览器通过 <script type="module"> 加载源文件
  • 依赖(node_modules)用 esbuild 提前转成 ESM 格式(一次性的)
  • 改一行代码:浏览器直接拉取这个新文件,无需打包
  • 所以无论项目多大,启动都是秒级!

💡 Vite 的口号就是:No bundling during development!


性能对比(实测数据)

项目规模 Vue CLI 启动时间 Vite 启动时间
小型(10个组件) ~2s ~300ms
中型(50+组件 + 路由 + 状态管理) ~8s ~400ms
大型(100+组件) ~20s+ ~500ms

Vite 的优势随项目增大而爆炸式放大


那为什么你会觉得"差不多"?

  1. 你用的是小项目 → 两者速度差异不明显

  2. 日常操作命令相似

    bash 复制代码
    # Vue CLI
    vue create my-app
    cd my-app
    npm run serve
    
    # Vite
    npm create vue@latest  # 或 npm init vite
    cd my-app
    npm run dev
  3. 最终产出都是运行在浏览器里的 Vue 应用 → 用户无感


结论:不只是"本地服务",而是开发范式的升级

Vue CLI Vite
定位 Vue 官方脚手架(基于 Webpack) 下一代前端构建工具(框架无关)
重点 "开箱即用的 Vue 工程方案" "极致的开发体验 + 未来标准(ESM)"
适合 老项目维护、需要 Webpack 深度定制 新项目首选、追求开发效率

📌 官方态度

Vue 3 官方文档默认推荐 Vite,Vue CLI 已进入维护模式(不再主推)。


💡 建议

  • 新项目一律用 Vitenpm create vue@latest
  • 老 Vue 2 项目 可继续用 Vue CLI
  • 如果想深入理解,试试在大型项目中分别启动两者 ------ 你会立刻感受到"天壤之别"

Vite 不是"另一个本地服务器",而是 用现代浏览器能力重构了前端开发工作流

相关推荐
吴声子夜歌19 分钟前
TypeScript——模块解析
javascript·ubuntu·typescript
dweizhao21 分钟前
别再用 Figma 画线框图了,Google 这款免费工具直接出 UI 稿
前端
han_35 分钟前
JavaScript设计模式(五):装饰者模式实现与应用
前端·javascript·设计模式
ProgramHelpOa1 小时前
Amazon SDE Intern OA 2026 最新复盘|70分钟两题 Medium-Hard
java·前端·javascript
smchaopiao1 小时前
如何用CSS和JS搞定全屏图片展示
前端·javascript·css
酉鬼女又兒1 小时前
零基础快速入门前端CSS Transform 与动画核心知识点及蓝桥杯 Web 应用开发考点解析(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·css·职场和发展·蓝桥杯·html
山川行1 小时前
Python快速闯关8:内置函数
java·开发语言·前端·笔记·python·学习·visual studio
还是大剑师兰特2 小时前
将 Utils.js 挂载为全局(window.Utils.xx)完整配置方案
开发语言·javascript·ecmascript
徐小夕2 小时前
花了一周时间,我们开源了一款PDF编辑SDK,支持在线批注+脱敏
前端·vue.js·github
前端Hardy2 小时前
Qwik 2.0 Beta 来了:不靠 AI,只靠 Resumability,首屏交互快到离谱
前端·javascript·面试