当前位置: 首页 > news >正文

vue 构建工具如何选择 | vue-cli 和 vite的区别

省流总结:Vue CLI 和 Vite 都是用于构建 Vue.js 项目的工具;

① vue-cli 更适合要高度定制化的、复杂的、稳定的(webpack 构建)、使用 vue2 的项目;

② vite 更适合快速的(浏览器原生ESM + Rollup)(快速启动、快速开发)、vue3项目

如何选择:

需求推荐工具
新项目,追求极致开发速度Vite ⚡
老项目升级 Vue 3vue-cli 🛠
需要 Webpack 插件(如 PWA、SSR)vue-cli 🏗
简单项目,快速原型开发Vite 🚀
企业级长期维护项目vue-cli(或 Vite + 自定义配置

vue-cli 和 vite的区别

1. 核心区别

对比项Vite (推荐🔥)vue-cli (传统)
构建工具基于 ESM + Rollup基于 Webpack
启动速度⚡ 极快(利用浏览器原生 ESM)🐢 较慢(Webpack 打包)
HMR(热更新)⚡ 毫秒级🚀 较快(但比 Vite 慢)
生产构建Rollup(优化更好)Webpack(稳定但稍重)
配置复杂度✅ 更简单(约定优于配置)⚙️ 较复杂 (依赖 vue.config.js
生态插件🌱 较新(但增长快)🌳 成熟(Webpack 生态丰富)
适用场景现代 Vue 3 项目、追求速度传统项目、需要 Webpack 插件

  • vite 基于原生 ES6 Modules,生产环境下打包使用 Rollup
  • vue-cli 基于 webpack封装,生产环境 和 开发环境都是 基于 Webpack 打包。 

生产环境都是基于源代码进行打包的;开发环境下,vite 基于原生 ES6,无需对代码进行打包(省掉了打包过程),浏览器可以直接调用

2. 使用场景推荐

✅ 推荐使用 Vite 的情况
  1. 新项目(尤其是 Vue 3)
    • Vite 是 Vue 3 官方推荐 的构建工具,默认支持 <script setup>、Composition API 等新特性。
  2. 开发体验要求高
    • 启动 秒开,HMR 几乎无延迟,适合快速迭代
  3. 轻量级项目
    • 不需要复杂 Webpack 配置,如 SSR、微前端等。
  4. 未来趋势

Vite 正在成为前端主流工具(React、Svelte 等也支持)。


🛠 推荐使用 vue-cli 的情况
  1. 老项目迁移(Vue 2 升级 Vue 3)

如果原项目基于 Webpack,继续用 vue-cli 更稳定

  1. 需要 Webpack 高级功能
    • 如 自定义 Loader/Plugin 、微前端(Module Federation) 、复杂代码拆分
  2. 企业级长期维护项目
    • Webpack 生态更成熟,遇到问题更容易找到解决方案。

3. 创建命令对比

Vite 创建 Vue 3 项目
npm create vite@latest my-vue-app --template vue
# 或
yarn create vite my-vue-app --template vue
# 或
pnpm create vite my-vue-app --template vue
vue-cli 创建 Vue 3 项目
npm install -g @vue/cli
vue create my-vue-app
# 选择 "Vue 3" 预设

4. 如何选择?

需求推荐工具
新项目,追求极致开发速度Vite ⚡
老项目升级 Vue 3vue-cli 🛠
需要 Webpack 插件(如 PWA、SSR)vue-cli 🏗
简单项目,快速原型开发Vite 🚀
企业级长期维护项目vue-cli(或 Vite + 自定义配置

5. 未来趋势

  • Vite 正在取代 vue-cli 成为 Vue 官方默认工具。
  • Webpack 仍适用于复杂场景,但 Vite 的 Rollup 生态在快速完善。
  • Nuxt 3、Quasar 等框架已转向 Vite,说明行业趋势。
结论
  • 新手 / 新项目 → 直接用 Vite(更快、更现代)。
  • 老项目 / 需要 Webpack → 继续用 vue-cli

如果你注重开发速度和现代化体验,Vite 是一个理想选择;而对于需要复杂配置和成熟生态的项目,Vue CLI 依然是稳妥的方案。


vue 全家桶

vue(核心库)

vue-router(路由方案)

vuex(状态管理方案)

vue 组件库(快速搭建页面 UI 效果的方案)

以及辅助 vue 项目开发的一系列工具

  • vue-cli(npm 全局包:一键生成工程化的 vue 项目 - 基于 webpack、大而全
  • vite(npm 全局包:一键生成工程化的 vue 项目 - 小而巧
  • vue-devtools(浏览器插件:辅助调试的工具)
  • vetur(vscode 插件:提供语法高亮和智能提示

参考:Vite vs. vue-cli 创建 Vue 3 项目的区别与使用场景 - 技术栈

vue cli 与 vite的区别_vuecli和vite的区别-CSDN博客

vue 3.0 推荐使用哪个构建工具 vue-cli ? vite? - 知乎

vue.js - Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗? - 卡拉云 - SegmentFault 思否

http://www.dtcms.com/a/403441.html

相关文章:

  • 公司网站建设会计上怎么处理怎么做一个网站
  • 网站建设群国金紫郡府淮北论坛
  • DC-DFTC工具串scan chain过程中遇到Error(TEST-1313)
  • flutter 3.22+ Android集成高德Flutter地图自定义Marker显示
  • K8s学习笔记(六) K8s升级与节点管理
  • Android,jetpack compose实现俄罗斯方块,简单案例♦️
  • Kubernetes(K8S)完全详解:从架构设计到云原生实践
  • IDEA/WebStorm 卡顿问题与启动参数调优指南
  • 杭州精品课程网站建设青海媒体网站建设公司
  • Metal - 5.深入剖析 3D 变换
  • 上海网站建设友汇网站网站修改备案号
  • nccl中的rdma是指什么 (来自deepseek)
  • C#练习题——List排序与反转操作详解:怪物属性排序示例
  • Linux离线安装指定包
  • WebGIS:在 Vue 2 项目中使用 Mapbox 时,如果需要加载的 GIS 数据量过大,怎么让接口一次性获取的geojson数据分批加载
  • 您的前端开发智能工作流待升级,查收最新 Figma2Code!
  • 多品牌集运管理的革新:易境通集运系统的一站式解决方案
  • 用dw做网站的步骤山东网站建设开发
  • Docker和K8S的区别详解
  • 高性能内存池(四)----CentralCache实现
  • Python快速入门专业版(四十四):Python面向对象基础:类与对象的创建与使用(核心概念解析)
  • 阿里云电影网站建设教程2345浏览器网址导航
  • flutter json转实体类
  • MCU内存到下载的诸多问题
  • 论文解读:利用中断隔离技术的 Linux 亚微秒响应性能优化
  • 莱芜住房和城乡建设厅网站海外代理ip
  • 服务器时间同步校准
  • 本地应用程序如何通过 VPC Endpoint 或本地网络代理访问 AWS S3
  • 基于梯度下降、随机梯度下降和牛顿法的逻辑回归MATLAB实现
  • okhttp使用指南