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),提升协作效率
相关推荐
晴殇i11 小时前
CSS Grid 与 Flexbox:现代前端布局的双子星
前端·css
曹卫平dudu11 小时前
一起学习TailWind Css
前端·css
sosojie11 小时前
and+design的table前端本地分页处理
前端·vue.js
炫饭第一名11 小时前
前端玩转 AI 应用开发|SSE 协议与JS中的流式处理🌊
前端·人工智能·程序员
apollo_qwe11 小时前
Vue3 核心设计模式实战:5 种模式 + 可复用代码,覆盖 80% 开发场景
vue.js
前端老宋Running11 小时前
一种名为“Webpack 配置工程师”的已故职业—— Vite 与“零配置”的快乐
前端·vite·前端工程化
用户66006766853911 小时前
从“养猫”看懂JS面向对象:原型链与Class本质拆解
前端·javascript·面试
parade岁月11 小时前
我的第一个 TDesign PR:修复 Empty 组件的 v-if 警告
前端
云鹤_11 小时前
【Amis源码阅读】低代码如何实现交互(下)
前端·低代码·架构
StarkCoder11 小时前
一次搞懂 iOS 组合布局:用 CompositionalLayout 打造马赛克 + 网格瀑布流
前端