Yihui’s Blog

Vue 全栈学习路线

从 Vue 基础到全栈开发,系统掌握 Vue 生态体系

📋 学习路线图

Vue 基础 → Vue 3 新特性 → 组件进阶 → 路由与状态 → SSR → 源码学习 → 生态工具

🎯 前置知识要求

在开始学习 Vue 之前,建议先掌握:


🌟 第一阶段:Vue 基础入门

1.1 核心概念

学习目标: 理解 Vue 响应式原理和基本用法

📚 推荐阅读顺序:

  1. Vue 进阶使用 ⭐ - 核心概念总览
  2. Vue3 渲染机制 - 理解渲染流程

知识要点:

  • 响应式数据绑定
  • 模板语法
  • 指令系统 (v-if, v-for, v-model 等)
  • 计算属性与侦听器
  • 生命周期钩子

1.2 Vue 2 vs Vue 3

学习目标: 了解版本差异,选择合适版本

核心变化:

  • Composition API vs Options API
  • 性能优化
  • TypeScript 支持
  • 新的响应式系统

推荐: 直接学习 Vue 3,兼顾 Vue 2 项目维护


⚡ 第二阶段:Vue 3 核心特性

2.1 组合式 API (Composition API)

学习目标: 掌握 Vue 3 的核心编程模式

📚 必读文章:

  1. 自定义 Hook(组合式函数)、指令 ⭐⭐⭐
  2. Vue 3 深入组件笔记 ⭐⭐

重点掌握:

  • setup() 函数
  • ref 和 reactive
  • computed 和 watch
  • 生命周期钩子(组合式 API 版本)
  • 依赖注入 provide/inject

2.2 响应式系统

学习目标: 深入理解 Vue 3 响应式原理

📚 核心知识:

  1. Vue.set() 和 this.$set() - Vue 2 响应式限制
  2. $nextTick 深入探究 ⭐ - 异步更新队列

知识要点:

  • Proxy vs Object.defineProperty
  • 响应式数据追踪
  • 异步更新策略
  • nextTick 原理

🎨 第三阶段:组件进阶

3.1 组件通信

学习目标: 掌握组件间数据传递

📚 学习内容:

  1. 组件自定义 v-model 以及自定义修饰符 ⭐
  2. Vue 3 深入组件笔记

通信方式:

  • Props / Emits
  • 自定义 v-model
  • provide / inject
  • EventBus(不推荐)
  • Vuex / Pinia

3.2 高级组件特性

学习目标: 掌握高级组件技巧

📚 深入学习:

  1. Vue 3 组件 ref 注意事项
  2. Vue 3 事件处理注意事项
  3. 异步组件
  4. 内置组件

重点掌握:

  • 动态组件
  • 异步组件
  • 函数式组件
  • 递归组件
  • Teleport 传送

3.3 KeepAlive 缓存

学习目标: 优化组件性能

📚 专题学习:

  1. Vue keep-alive 笔记
  2. KeepAlive 详解 ⭐

应用场景:

  • 页面缓存
  • Tab 切换优化
  • 列表详情返回保持状态

3.4 Teleport 传送

学习目标: 掌握组件挂载位置控制

📚 核心文章:

  1. Teleport 传送

使用场景:

  • 模态框(Modal)
  • 提示框(Toast)
  • 全屏组件

🛣️ 第四阶段:路由管理

4.1 Vue Router 基础

学习目标: 掌握前端路由核心概念

📚 基础知识:

  1. 前端路由 hash 与 history 差异 ⭐⭐

核心概念:

  • 路由配置
  • 动态路由匹配
  • 嵌套路由
  • 导航守卫
  • 路由懒加载

4.2 路由进阶

学习目标: 高级路由使用技巧

进阶主题:

  • 路由元信息
  • 滚动行为
  • 路由过渡动效
  • 路由鉴权
  • 路由缓存策略

🗄️ 第五阶段:状态管理

5.1 Pinia (推荐)

学习目标: 掌握 Vue 3 官方推荐状态管理

📚 核心教程:

  1. Pinia 学习笔记 ⭐⭐⭐

核心概念:

  • Store 定义
  • State 状态
  • Getters 计算属性
  • Actions 动作
  • 插件系统

优势:

  • TypeScript 支持更好
  • 更简洁的 API
  • 支持组合式 API
  • DevTools 支持

5.2 Vuex (传统方案)

学习目标: 了解 Vuex 用于维护老项目

核心概念:

  • State 单一状态树
  • Mutations 同步修改
  • Actions 异步操作
  • Getters 派生状态
  • Modules 模块化

注意: 新项目推荐使用 Pinia


🎭 第六阶段:样式与主题

6.1 Scoped CSS

学习目标: 组件样式隔离

📚 深入理解:

  1. Vue scoped 属性的用途和工作原理 ⭐

知识要点:

  • Scoped 原理
  • 深度选择器 :deep()
  • 插槽选择器 :slotted()
  • 全局选择器 :global()

6.2 CSS 方案

学习目标: 选择合适的样式方案

可选方案:

  • Scoped CSS
  • CSS Modules
  • CSS-in-JS
  • Tailwind CSS - 原子化 CSS

🚀 第七阶段:性能优化

7.1 Vue 3 性能优化

学习目标: 提升应用性能

📚 必读文章:

  1. Vue 3 性能优化 ⭐⭐⭐

优化策略:

  • 虚拟列表
  • 组件懒加载
  • KeepAlive 缓存
  • 计算属性优化
  • v-once / v-memo 指令
  • 合理使用 watch

7.2 打包优化

学习目标: 减小包体积

优化方向:

  • 路由懒加载
  • 组件异步加载
  • 第三方库按需引入
  • Tree Shaking
  • 代码分割

配合学习:


🌐 第八阶段:SSR 服务端渲染

8.1 SSR 基础

学习目标: 理解服务端渲染原理

📚 基础概念:

  1. 编写跨平台友好的代码 ⭐
  2. SSR 异步数据获取 ⭐

核心知识:

  • SSR vs CSR
  • 同构渲染
  • 水合 (Hydration)
  • 生命周期差异

推荐阅读: 同构渲染:SSR & CSR


8.2 Nuxt 3 框架

学习目标: 掌握 Vue SSR 最佳实践

📚 Nuxt 3 特性:

  1. Nuxt3:新渲染模式 - 边缘渲染、swr 等 ⭐⭐

核心功能:

  • 文件系统路由
  • 自动导入
  • 服务端组件
  • 数据获取
  • 状态管理
  • 静态站点生成 (SSG)
  • 边缘渲染

8.3 同构应用最佳实践

学习目标: 构建生产级 SSR 应用

注意事项:

  • 避免单例模式
  • 使用 onServerPrefetch
  • 客户端激活
  • 性能监控
  • 错误处理

推荐阅读: 为什么每个人都在谈论同构 JavaScript


🔍 第九阶段:源码学习

9.1 响应式原理

学习目标: 深入理解 Vue 响应式系统

📚 源码学习:

  • Vue 响应式原理 (源码学习目录)
  • 虚拟 DOM 实现
  • Diff 算法

推荐手写:

  • 简易响应式系统
  • 简易虚拟 DOM

9.2 VueRouter 源码

学习目标: 理解前端路由实现

📚 源码分析:

  • VueRouter 源码 (源码学习目录)
  • hash 路由实现
  • history 路由实现

9.3 Vuex/Pinia 源码

学习目标: 理解状态管理实现

📚 源码研究:

  • Vuex 与 Pinia 数据流 (源码学习目录)
  • 响应式状态
  • 插件机制

9.4 编译原理

学习目标: 理解模板编译过程

📚 学习内容:

  • 编译过程 (源码学习目录)
  • 模板 AST 生成
  • 代码生成
  • 优化策略

🛠️ 第十阶段:工具链与生态

10.1 开发工具

学习目标: 掌握常用开发工具

📚 工具库:

  1. Vue 项目常用库 ⭐⭐

推荐工具:

  • Vite - 构建工具
  • Vue DevTools - 调试工具
  • Volar - VSCode 插件
  • VueUse - 组合式工具集

10.2 移动端开发

学习目标: Vue 移动端开发

📚 uni-app 生态:

  1. uni-simple-router 库使用

移动端框架:

  • uni-app - 多端统一开发
  • Vant - 移动端 UI 库
  • NutUI - 京东移动端组件库

10.3 测试

学习目标: Vue 组件测试

📚 测试工具:

  1. Vue Test Utils 处理异步行为

测试方案:

  • Jest + Vue Test Utils
  • Vitest (推荐)
  • Cypress E2E 测试

推荐阅读: 静态 vs 单元 vs 集成 vs E2E 测试


🎓 第十一阶段:面试准备

11.1 Vue 核心面试题

学习目标: 应对 Vue 技术面试

📚 面试题库:

  • Vue 3 升级改变
  • Vue 面试题汇总(上)
  • Vue 面试题汇总(下)

高频考点:

  • 响应式原理
  • 虚拟 DOM 与 Diff 算法
  • 组件通信方式
  • 生命周期钩子
  • Computed vs Watch
  • keep-alive 原理
  • nextTick 原理
  • Vue Router 实现
  • Vuex/Pinia 状态管理

11.2 实战项目经验

学习目标: 准备项目经验讲解

项目亮点准备:

  • 组件封装经验
  • 性能优化案例
  • 技术难点攻克
  • 架构设计思路
  • 跨端开发经验

🔗 配套学习资源

完成 Vue 学习后,推荐继续深入:

前置/并行学习

  1. JavaScript 完整学习路径 - 夯实 JS 基础
  2. TypeScript 学习路径 - 类型安全
  3. CSS 学习路径 - 样式进阶

构建工具

  1. Vite 学习路径 - 推荐优先学习
  2. Webpack 学习路径 - 了解传统方案

后端开发

  1. Node.js 完整学习路径 - 全栈开发

对比学习

  1. React 进阶学习路线 - 了解其他框架

📊 学习时长估算

阶段内容建议时长难度
第一阶段Vue 基础入门1-2 周⭐
第二阶段Vue 3 核心特性2-3 周⭐⭐
第三阶段组件进阶2-3 周⭐⭐
第四阶段路由管理1-2 周⭐⭐
第五阶段状态管理1-2 周⭐⭐
第六阶段样式与主题1 周⭐
第七阶段性能优化2-3 周⭐⭐⭐
第八阶段SSR 服务端渲染3-4 周⭐⭐⭐⭐
第九阶段源码学习4-6 周⭐⭐⭐⭐⭐
第十阶段工具链与生态2-3 周⭐⭐
第十一阶段面试准备2-3 周⭐⭐⭐

总计: 约 3-5 个月(根据个人基础和投入时间)


✅ 学习检查清单

基础阶段 ✓

  • 理解响应式数据绑定原理
  • 熟练使用模板语法和指令
  • 掌握生命周期钩子
  • 能独立开发简单组件

进阶阶段 ✓

  • 熟练使用 Composition API
  • 理解 ref 和 reactive 区别
  • 掌握组件通信所有方式
  • 能封装通用组件

路由与状态 ✓

  • 熟练使用 Vue Router
  • 掌握 Pinia 状态管理
  • 理解 hash 和 history 模式
  • 实现路由鉴权

性能优化 ✓

  • 掌握常见性能优化手段
  • 能分析性能瓶颈
  • 实现虚拟列表
  • 优化打包体积

SSR 阶段 ✓

  • 理解 SSR 原理
  • 能使用 Nuxt 3 开发
  • 掌握数据预取
  • 处理客户端激活

源码阶段 ✓

  • 理解响应式原理
  • 理解虚拟 DOM
  • 理解 Diff 算法
  • 能讲清楚编译过程

面试阶段 ✓

  • 完成所有面试题
  • 能手写响应式系统
  • 准备项目经验
  • 模拟面试练习

💡 学习建议

1. 循序渐进

  • 不要跳过基础: Vue 基础非常重要
  • 边学边练: 每个知识点都要动手实践
  • 多写 Demo: 积累组件库和工具库

2. 源码学习策略

  • 不要一开始就看源码: 先用熟练再看源码
  • 带着问题看源码: 理解原理而非记住代码
  • 画流程图: 帮助理解复杂流程
  • Debug 源码: 断点调试加深理解

3. 实战项目建议

个人项目:

  • 博客系统(SSR + Markdown)
  • 后台管理系统(CRUD + 权限)
  • 移动端 App(uni-app)
  • 组件库(封装通用组件)

开源贡献:

  • 参与 Vue 生态项目
  • 提 Issue 和 PR
  • 写技术文章分享

4. Vue 2 vs Vue 3 选择

新项目: 优先选择 Vue 3

  • 性能更好
  • TypeScript 支持更好
  • Composition API 更灵活
  • 生态已经成熟

老项目维护: 需要了解 Vue 2

  • 掌握 Options API
  • 理解 Vue 2 的响应式限制
  • 熟悉迁移策略

5. 面试准备策略

核心概念必须掌握:

  • 响应式原理(手写实现)
  • 虚拟 DOM 与 Diff
  • 组件通信方式
  • 生命周期详解
  • nextTick 原理

项目经验准备:

  • 准备 2-3 个亮点项目
  • 每个项目准备技术难点
  • 性能优化案例
  • 架构设计思路

手写代码准备:

  • 简易响应式系统
  • 简易虚拟 DOM
  • 自定义指令
  • 简易路由

🌟 推荐学习资源

官方文档

视频教程

  • 黑马程序员 Vue 3 全家桶
  • 尚硅谷 Vue 3 入门到精通
  • 技术胖 Vue 3 实战

必读书籍

  • 《深入浅出 Vue.js》(刘博文)
  • 《Vue.js 设计与实现》(霍春阳)
  • 《Vue.js 3.0 核心源码解析》

实战平台

  • Vue 官方示例
  • Vue Mastery
  • Vue School

源码学习


🔥 进阶路线

全栈开发方向

  1. Vue 3 + Nuxt 3 (前端)
  2. Node.js + Express/Koa (后端)
  3. MongoDB/MySQL (数据库)
  4. Docker + CI/CD (部署)

跨端开发方向

  1. uni-app (多端统一开发)
  2. Taro (React/Vue 跨端)
  3. Flutter (原生跨端)

架构方向

  1. 微前端架构
  2. 组件库设计
  3. CLI 工具开发
  4. 工程化方案

📞 学习交流

如果在学习过程中遇到问题,欢迎:

  • 查看 Vue 官方讨论区
  • 在 GitHub Issues 提问
  • 加入 Vue 技术交流群
  • 关注 Vue 官方博客和动态

Vue 之路,持续精进 💚
最后更新: 2026-01-26

Maintained by · YihuiEdit on GitHub