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 不是"另一个本地服务器",而是 用现代浏览器能力重构了前端开发工作流

相关推荐
小徐_233312 小时前
Wot UI 2.2.0 发布:Button 新增 subtle,VideoPreview 预览体验继续增强
前端·微信小程序·uni-app
山河木马13 小时前
矩阵专题3-怎么创建投影矩阵(uProjectionMatrix)
javascript·webgl·计算机图形学
天蓝色的鱼鱼14 小时前
关于 CSS 你可能不知道的属性,但关键时刻很有用
前端·css
泯泷15 小时前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全
妙码生花15 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
泯泷15 小时前
第 1 篇:从 1 + 2 开始:亲手写出第一台 JSVM
前端·javascript·安全
团团崽_七分甜15 小时前
Spring Boot 核心知识点总结
前端
lichenyang45315 小时前
从一个按钮开始,理解 ASCF 框架到底在做什么
前端
古夕15 小时前
第三方 SSO 接入实践:redirect_uri 编码、回调一致性与跨项目联调
前端·vue.js