← 返回首页
从小白到资深架构师 · 全套自学手册

前端架构师通关手册

这份手册按「阶段递进」组织,共 10 个阶段。每个阶段都从零基础讲起,把原理讲透、配大量代码示例、指出常见坑、布置实战项目、附通关自检题。学完一个阶段再做下一个,不要跳

📖 使用说明

这套手册怎么用,效果最好?

① 顺序学习,不跳阶段

每一阶段都建立在前一阶段之上。比如不懂作用域与闭包,后面看框架源码必然卡壳。目录已按依赖排好序。

② 代码必须亲手敲

手册里每个代码示例,先看懂了,再关掉文档凭记忆重写一遍。写不出来,说明还没学会——回炉再看。

③ 用「费曼学习法」自检

每阶段末尾的自检题,试着像讲课一样把答案说出来。能给别人讲清楚,才算真正掌握。

④ 项目驱动

每阶段都有实战项目。项目不是加分项,是检验标准——把项目独立做出来,该阶段才算通关。

⑤ 建立「错题本」

所有踩过的坑、写错的代码,记到自己的错题本里(建议存在 D:\WorkBuddy 下)。复习时只看错题本,效率最高。

⑥ 每周复盘

周末花 30 分钟:这周学了什么?哪些还模糊?下周补什么?用下方进度表持续跟踪。

🗺️ 十阶段学习路线总览

点击每个阶段可展开详细知识点清单。总学习量约 600~800 小时,每天 2 小时约一年达成。

1

HTML 与 CSS —— 网页的骨骼与皮肤

目标:能手写语义化页面,精通盒模型、Flex、Grid、响应式布局
约 60 小时

知识点清单

  • 网页如何工作:浏览器、服务器、URL、HTTP 基础
  • HTML 文档结构与语义化标签(header/nav/main/section/article/aside/footer)
  • 文本、链接、图片、列表、表格、表单与输入控件
  • CSS 选择器全家桶 + 优先级与层叠规则
  • 盒模型(content/padding/border/margin)、box-sizing、margin 塌陷
  • 文档流、浮动、清除浮动、定位(static/relative/absolute/fixed/sticky)
  • Flexbox 完整体系(主轴/交叉轴/伸缩/对齐)
  • Grid 完整体系(行列/区域/隐式网格/对齐)
  • 响应式设计:媒体查询、流式布局、移动优先
  • CSS 变量、过渡、动画、变换 transform
  • 层叠上下文、BEM 命名、重置样式

实战项目

① 响应式个人主页(桌面 + 手机双端适配);② 仿一个知名网页的静态布局(如新闻门户首页)。

通关标准

不用查文档,能独立完成任意给定原型图的静态还原;能解释「为什么这个元素会在页面那个位置」。

2

JavaScript 核心 —— 网页的灵魂

目标:吃透变量/类型/函数/作用域/闭包/原型/异步/事件循环
约 100 小时

知识点清单

  • 变量声明:var / let / const 区别、变量提升、暂时性死区
  • 数据类型:原始类型 vs 引用类型、typeof、类型转换、NaN、Symbol、BigInt
  • 运算符、流程控制、switch、三元
  • 函数:声明/表达式/箭头函数、参数(默认/剩余/解构)、高阶函数、纯函数
  • 作用域与闭包:词法作用域、作用域链、闭包原理、闭包应用与内存
  • this 的四种绑定规则、箭头函数 this、bind/call/apply
  • 原型与继承:原型链、new 的原理、class 语法、instanceof
  • 数组方法大全:map/filter/reduce/forEach/some/every/find/sort…手写实现
  • 对象:属性描述符、getter/setter、Object 常用方法
  • 异步编程:回调、Promise 全解(手写)、async/await、微任务宏任务、事件循环
  • 模块化:ESM 与 CommonJS、import/export 细节
  • DOM 操作、事件模型(捕获/冒泡/委托)、存储、fetch
  • 错误处理:try/catch/finally、自定义错误、异常边界

实战项目

① 手写 Promise;② 手写防抖/节流/深拷贝;③ 原生 JS 实现一个 Todo 应用(含增删改查、本地存储)。

通关标准

能不看资料手写:深拷贝、Promise、防抖节流;能说清「闭包为什么会造成内存泄漏,怎么解决」;能画出事件循环的执行流程图。

3

浏览器原理与网络 —— 页面如何运行

目标:懂渲染管线、HTTP、缓存、事件循环与前端安全
约 80 小时

知识点清单

  • 浏览器架构:进程与线程、渲染进程、GPU 进程
  • 导航流程:输入 URL 到页面渲染的完整链路
  • 渲染管线:HTML 解析、CSSOM、渲染树、布局、绘制、合成
  • 回流与重绘:触发条件、如何避免
  • HTTP 协议:请求/响应结构、状态码、方法
  • HTTP 缓存:强缓存(Cache-Control/Expires)与协商缓存(ETag/Last-Modified)
  • HTTPS、HTTP/2 与 HTTP/3 特性
  • 浏览器存储:Cookie、localStorage、sessionStorage、IndexedDB 对比
  • 跨域:同源策略、CORS、JSONP、代理、postMessage
  • 前端安全:XSS、CSRF 原理与防御
  • 事件循环深挖:宏任务微任务的调度与优先级

实战项目

① 用性能面板分析自己主页的加载与渲染瓶颈;② 写一篇「从输入 URL 到页面显示」的完整流程图笔记。

通关标准

能完整口述「输入 URL 后发生了什么」;能解释强缓存与协商缓存的区别并说出配置方式;能说清 XSS 与 CSRF 的三种防御手段。

4

工程化与构建 —— 现代开发的基建

目标:熟练 Node、npm、Vite/Webpack、ESLint、Git 工作流
约 80 小时

知识点清单

  • Node.js 基础:模块系统、事件循环、常用内置模块(fs/path/http)
  • npm/pnpm/yarn:依赖管理、语义化版本、lock 文件、脚本
  • Git 全套:分支模型、rebase/merge、冲突解决、提交规范
  • 模块化演进:IIFE、CommonJS、AMD、ESM 的历史与设计
  • 打包原理:入口、依赖图、chunk、代码分割、Tree Shaking
  • Vite 深度:ESM 开发服务、依赖预构建、HMR 原理
  • Webpack 核心概念:loader、plugin、配置体系
  • 代码规范:ESLint、Prettier、EditorConfig、husky 钩子
  • TypeScript 基础:类型系统、泛型、类型体操入门
  • CI/CD 概念:流水线、质量门禁、自动化部署

实战项目

① 从零用 Vite 搭一个项目并接入 ESLint+Prettier+husky;② 手写一个简单的打包器(处理依赖图)。

通关标准

能说清 Vite 为什么比 Webpack 快;能解释 Tree Shaking 的原理与前提条件;能独立搭建规范的工程化项目。

5

框架核心 —— 组件化开发(React 主线)

目标:吃透 React 渲染原理、Hooks、组件设计,达到源码级理解
约 120 小时

知识点清单

  • 组件化思想:为什么需要组件、组件层级设计
  • JSX 原理:编译产物、React.createElement、虚拟 DOM
  • 渲染流程:初次渲染、更新、协调(Reconciliation)、diff 算法
  • 状态与生命周期:useState、useEffect 的依赖与清理、渲染时机
  • Hooks 设计:自定义 Hook、Hooks 规则、闭包陷阱
  • Context 与跨层通信、useReducer、useRef、useMemo/useCallback
  • React 18/19 新特性:并发渲染、transition、Suspense、Server Components 概念
  • 受控组件与非受控组件、表单处理
  • 性能优化:memo、虚拟列表、错误边界、懒加载
  • React 源码导读:Fiber 架构、调度器、commit 阶段(挑关键路径读)
  • 备选路线对比:Vue 3 响应式原理(Proxy/effect/依赖收集)、模板编译

实战项目

① 用 React 重写 Todo 应用并加多用户;② 实现一个带虚拟滚动的表格组件;③ 封装一个自定义 Hook 库。

通关标准

能画出「setState 后界面如何更新」的完整流程图;能解释为什么 Hooks 不能写在条件语句里;能独立设计组件树并给出理由。

6

状态管理与数据流

目标:能对任何状态做出正确的分类、定位与选型
约 60 小时

知识点清单

  • 状态分类学:服务端/全局/路由/表单/局部状态
  • 状态定位决策树:什么时候该提升、什么时候该全局
  • Context 的用法、性能陷阱与替代方案
  • Zustand 原理:store 创建、选择器订阅、浅比较
  • Redux Toolkit:createSlice、不可变更新、中间件、RTK Query
  • 服务端状态库:数据请求库的缓存/失效/重试/乐观更新机制
  • 表单状态:受控表单库的使用与原理
  • 状态与 URL:路由状态设计、搜索参数同步
  • 单向数据流与单一数据源原则

实战项目

① 购物车应用:全局购物车 + 服务端商品列表 + 表单结算,做完整状态分层;② 给现有项目做状态重构。

通关标准

给任意一个功能描述,能说出每个状态放哪、用什么方案、为什么;能解释「为什么服务端数据不该放全局 store」。

7

性能优化实战

目标:掌握加载、渲染、运行时三条链路的优化方法论
约 70 小时

知识点清单

  • 性能指标体系:首屏内容渲染、最大内容渲染、交互延迟、累计布局偏移、下次绘制交互
  • 加载优化:代码分割、懒加载、资源压缩、图片格式、预加载预取
  • 缓存优化:HTTP 缓存策略、静态资源哈希、Service Worker
  • 渲染优化:减少重渲染、memo、并发特性、虚拟列表、骨架屏
  • 运行时优化:长任务拆分、Web Worker、内存泄漏排查
  • 性能监控:真实用户监控、性能预算、性能回归门禁
  • 性能分析工具:Lighthouse、Performance 面板、React DevTools

实战项目

① 将自己的项目核心指标优化到绿色区间并记录前后对比;② 写一份性能优化报告(问题→方案→结果)。

通关标准

能独立完成一次完整的性能诊断与优化闭环;能用数据证明优化效果;能说清每个指标的含义与优化手段。

8

测试与代码质量

目标:建立测试金字塔认知,能写高质量的单元/组件/端到端测试
约 60 小时

知识点清单

  • 测试金字塔:单元/组件/端到端的配比与职责
  • 单元测试:测试框架、断言、覆盖率、mock
  • 组件测试:以用户视角测试交互行为
  • 端到端测试:真实浏览器场景自动化
  • 测试驱动开发(TDD)与行为驱动开发(BDD)
  • 可测试性设计:纯函数、依赖注入、代码分层
  • 代码评审文化:评审清单、如何给建设性反馈
  • 代码质量指标:圈复杂度、重复率、坏味道识别
  • 重构方法论:安全重构、重构手法(提取/内联/重命名…)

实战项目

① 给 Todo 应用写完整的单元+组件+端到端测试,覆盖率超 80%;② 对自己代码做一次重构并说明手法。

通关标准

能解释为什么「单元测试覆盖率高不等于质量好」;能独立设计测试用例;能安全地完成一次小规模重构。

9

架构设计与模式

目标:掌握分层、设计模式、微前端、Monorepo,能独立产出架构方案
约 100 小时

知识点清单

  • 架构设计原则:SOLID、DRY、YAGNI、最小可行架构
  • 分层架构:表现/应用/领域/基础设施,依赖倒置
  • 设计模式:工厂、单例、策略、观察者、发布订阅、装饰器、适配器
  • 模块边界:领域驱动设计的战术模式、聚合、限界上下文
  • 组件库与设计系统:Token、版本化、Storybook
  • Monorepo:pnpm workspace、Turborepo 缓存、微前端
  • 微前端:qiankun、模块联邦、Web Components、沙箱与通信
  • 多端架构:响应式、小程序跨端、跨平台移动
  • 技术选型方法论:评估维度、试点验证、决策记录
  • 架构评审与演进式架构

实战项目

① 设计一个中后台系统的完整架构方案(含分层图、状态模型、工程化方案);② 给一个「假想业务」做微前端 vs 单体的决策分析。

通关标准

能独立撰写架构设计文档并通过模拟评审;能在「加抽象」与「不加抽象」之间给出有说服力的权衡;能说出微前端真正解决的问题是什么。

10

团队协作与架构治理

目标:具备资深工程师/架构师的软技能与治理能力
约 40 小时

知识点清单

  • 技术评审:评审什么、如何主持、如何给出建设性意见
  • 架构决策记录(ADR):模板、何时写、如何追溯
  • 技术债管理:分类、量化、偿还优先级
  • 文档与知识沉淀:设计文档、代码注释、新人引导
  • 跨团队协作:与产品/后端/设计的沟通要点
  • 技术分享:如何准备一场高质量的分享
  • 向上管理与影响力:让方案被采纳的方法
  • 面试方法论:架构题、设计题、系统设计面试

实战项目

① 整理一份自己项目的技术债台账并排优先级;② 写 3 篇 ADR 覆盖近期的关键技术决策;③ 准备一场 30 分钟技术分享并演练。

通关标准

能在团队中发起并主持一次技术评审;能把自己的技术方案讲清楚并推动落地;能系统管理一个项目的技术债。

📊 学习进度追踪表

每完成一个阶段,把对应行的状态改为「进行中」或「已完成」,并记录日期与心得。

阶段主题预计时长开始日期完成日期状态自评(1-5)
1HTML 与 CSS60h⬜ 未开始
2JavaScript 核心100h⬜ 未开始
3浏览器与网络80h⬜ 未开始
4工程化与构建80h⬜ 未开始
5框架核心120h⬜ 未开始
6状态管理与数据流60h⬜ 未开始
7性能优化实战70h⬜ 未开始
8测试与代码质量60h⬜ 未开始
9架构设计与模式100h⬜ 未开始
10团队协作与治理40h⬜ 未开始
💡 建议节奏 工作日每天 1.5 小时(看文档 + 敲代码),周末每天 4 小时(做项目 + 复盘)。按此节奏,阶段一约 3 周,阶段二约 5 周。不要追求快,追求每个知识点都能「讲给别人听」。