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),提升协作效率
相关推荐
Mintopia4 小时前
🚀 Next.js 16 新特性深度解析:当框架开始思考人生
前端·后端·全栈
鼓掌MVP4 小时前
Rust Web实战:构建高性能并发工具的艺术
开发语言·前端·rust·异步编程·内存安全·actix-web·高性能web服务
Mintopia4 小时前
🌌 元宇宙 Web 场景中,AIGC 驱动的虚拟内容生成技术
前端·javascript·aigc
excel4 小时前
一文彻底搞懂 Vue3 中 ref 的源码实现(含详细注释)
前端
鹏多多4 小时前
react-konva实战指南:Canvas高性能+易维护的组件化图形开发实现教程
前端·javascript·react.js
excel4 小时前
一文彻底搞懂 Vue 中的 key(含 Vue2 / Vue3 对比)
前端
冰暮流星5 小时前
css新增盒子属性——尺寸调节
前端·css
程序员爱钓鱼5 小时前
Python编程实战 - 函数与模块化编程 - 函数的定义与调用
前端·后端·python
欧阳码农5 小时前
使用AI生成的页面总是被一眼认出来怎么办?1分钟给你解决
前端·后端