Vue3 项目创建指南(Vue-CLI vs Vite 对比)

Vue3 作为目前 Vue 生态的主流版本,提供了两种核心项目创建方式:Vue-CLI(传统方案)和 Vite(新一代构建工具)。本文将详细对比两种方案的优劣,带你一步步搭建 Vue3 开发环境,并解析项目结构与核心配置。

一、前置准备:环境搭建

无论选择哪种方案,首先需确保本地环境满足要求:

  • Node.js:建议 v14.18+ 或 v16+(可通过 node -v 查看版本)
  • 包管理器:npm(内置)或 yarn(推荐,需额外安装:npm install -g yarn
  • 代码编辑器:VSCode + 插件(Vue Language Features (Volar)、TypeScript Vue Plugin)

二、方案一:Vue-CLI 创建(兼容 Vue2 项目)

Vue-CLI 是 Vue2 时代的主流工具,目前处于维护模式,适合需要兼容旧项目或团队熟悉 CLI 流程的场景。

1. 安装 Vue-CLI
bash 复制代码
# 查看当前版本(需确保 ≥4.5.0)
vue --version
# 安装/升级 Vue-CLI
npm install -g @vue/cli
2. 创建 Vue3 项目
bash 复制代码
# 执行创建命令
vue create vue3-cli-demo
# 选择项目配置:
# 1. 手动选择特性(Manually select features)
# 2. 勾选需要的特性(建议:Babel、TypeScript、Router、Pinia、ESLint)
# 3. 选择 Vue 版本:3.x
# 4. 其余配置按需选择(如 TypeScript 类型检查、ESLint 规则等)
3. 启动项目
bash 复制代码
cd vue3-cli-demo
npm run serve # 启动开发服务器

三、方案二:Vite 创建(推荐)

Vite 是 Vue 团队推出的新一代构建工具,基于 ES 模块原生支持,解决了 Webpack 冷启动慢、热更新卡顿的问题,是 Vue3 新项目的首选。

1. 创建 Vite 项目
bash 复制代码
# 执行创建命令(Vue 官方推荐)
npm create vue@latest
# 按提示配置项目:
√ Project name: vue3-vite-demo # 项目名称
√ Add TypeScript? Yes # 建议启用 TypeScript
√ Add JSX Support? No # 按需选择(非必要不选)
√ Add Vue Router? Yes # 路由支持
√ Add Pinia? Yes # 状态管理
√ Add Vitest? No # 测试工具(按需选择)
√ Add ESLint? Yes # 代码检查
2. 安装依赖并启动
bash 复制代码
cd vue3-vite-demo
npm install # 安装依赖
npm run dev # 启动开发服务器(秒级启动)

四、Vue-CLI vs Vite 核心对比

对比维度 Vue-CLI(Webpack) Vite(原生 ES 模块)
启动速度 慢(需打包整个项目) 极快(按需编译)
热更新速度 较慢(依赖 Webpack 编译) 极快(仅更新修改模块)
构建体积 优化较好,但配置复杂 自动优化,支持 Tree-Shaking
配置复杂度 高(需熟悉 Webpack 配置) 低(零配置启动,按需扩展)
兼容性 好(支持旧浏览器) 一般(依赖 ES 模块支持)
适用场景 旧项目迁移、复杂 Webpack 配置需求 新项目、追求开发效率的场景

实战体验

  • Vite 开发服务器启动时间通常在 100ms 以内,而 Vue-CLI 可能需要 3-5 秒
  • 热更新时,Vite 修改组件后瞬间生效,Vue-CLI 需等待编译完成

五、Vue3 项目结构解析(Vite 为例)

bash 复制代码
vue3-vite-demo/
├─ node_modules/       # 依赖包
├─ public/             # 静态资源(不被 Vite 处理)
├─ src/
│  ├─ assets/          # 静态资源(被 Vite 处理)
│  ├─ components/      # 公共组件
│  ├─ router/          # 路由配置
│  ├─ stores/          # Pinia 状态管理
│  ├─ views/           # 页面组件
│  ├─ App.vue          # 根组件
│  ├─ main.ts          # 入口文件
│  └─ vite-env.d.ts    # Vite 类型声明
├─ .eslintrc.js        # ESLint 配置
├─ index.html          # 入口 HTML(Vite 特有,在项目根目录)
└─ vite.config.ts      # Vite 配置文件

核心文件说明

  • index.html:Vite 入口,通过 <script type="module" src="/src/main.ts"> 加载项目
  • vite.config.ts:Vite 配置入口,可配置代理、插件、别名等
  • src/main.ts:Vue 应用入口,通过 createApp 创建实例并挂载

六、VSCode 开发环境配置

  1. 必装插件

    • Vue Language Features (Volar):Vue3 语法支持、智能提示
    • TypeScript Vue Plugin (Volar):TypeScript 与 Vue 结合支持
    • ESLint:代码规范检查

2、配置建议 :在 .vscode/settings.json 中添加:

javascript 复制代码
{
  "editor.formatOnSave": true, // 保存自动格式化
  "vue.volar.autoCompleteRefs": true, // Ref 自动补全 .value
  "eslint.validate": ["vue", "typescript"] // ESLint 检查 Vue 和 TS 文件
}

七、总结与建议

  1. 新项目:优先选择 Vite,享受极速开发体验,减少配置成本
  2. 旧项目迁移:使用 Vue-CLI 平滑过渡,逐步迁移到 Vue3 特性
  3. 团队协作:统一工具链(建议 Vite + TypeScript),提升协作效率
相关推荐
VT.馒头28 分钟前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
css趣多多39 分钟前
一个UI内置组件el-scrollbar
前端·javascript·vue.js
-凌凌漆-1 小时前
【vue】pinia中的值使用 v-model绑定出现[object Object]
javascript·vue.js·ecmascript
C澒1 小时前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
C澒1 小时前
Remesh 框架详解:基于 CQRS 的前端领域驱动设计方案
前端·架构·前端框架·状态模式
Charlie_lll1 小时前
学习Three.js–雪花
前端·three.js
onebyte8bits1 小时前
前端国际化(i18n)体系设计与工程化落地
前端·国际化·i18n·工程化
C澒2 小时前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架
BestSongC2 小时前
行人摔倒检测系统 - 前端文档(1)
前端·人工智能·目标检测
0思必得02 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化