This repository has been archived on 2026-05-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
obsidian/金山办公作业/Week06/summary.md
T

9.2 KiB
Raw Blame History

tags, create time
tags create time
前端
全栈
学习总结
阶段性回顾
2026-04-26 14:30

前端开发学习阶段性总结

声明:本文档由 AI 助手(Obsidian 知识管理自动化工作流)自动生成。 生成方式:遍历 vault 中与【前端开发】相关的笔记文件,按既定学习路径(HTML → CSS → JavaScript → TypeScript → 工程化 → 实战)自动提取核心知识点,结构化整合后输出。 生成时间:2026-04-26 数据来源:FRONTEND/、DEV/VITE/、金山办公作业/Week06/ 共 16 篇笔记文件。 如需修正或补充内容,请直接编辑本文件或修改源笔记。

概述

本总结梳理了从网页骨架到工程化构建的完整前端学习路径,涵盖六大阶段的知识积累。所有知识点分布在以下三个区域:

区域 路径 阶段
基础层 FRONTEND/ HTML → CSS → JavaScript → TypeScript
工程层 DEV/VITE/ Vite 构建工具架构与优化
实战层 金山办公作业/Week06/ 前端项目实战:路由、API 封装、登录安全

阶段一:HTML 基础 — 网页骨架

核心知识点:

  • HTML 文档结构(<!DOCTYPE html>、<html>、<head>、<body>)
  • 常用标签:文本标签(<h1>~<h6>、<p>、<span>)、列表标签(<ul>、<ol>)、链接与图片
  • 表单元素:<input> 各类 type、<select>、<textarea>、<button>
  • 语义化标签:<header>、<nav>、<main>、<article>、<section>、<footer>

这是所有前端知识的起点,决定了页面的结构和可访问性。


阶段二:CSS 基础 — 网页样式

核心知识点:

  • 选择器优先级:!important > 内联 > ID > 类/属性/伪类 > 标签/伪元素
  • 盒模型:content → padding → border → margin,box-sizing: border-box 的重要性
  • Flexbox 布局:flex-direction、justify-content、align-items、flex-wrap
  • Grid 布局:grid-template-columns/rows、gap、grid-area
  • 响应式设计:媒体查询(@media)、响应式单位(rem、vw、vh)

CSS 是前端最容易被低估的部分,Flexbox 和 Grid 需要多动手练习。


阶段三:JavaScript 基础 — 交互逻辑

核心知识点:

  • 变量与数据类型:let / const、原始类型与引用类型
  • 函数与作用域:函数声明 vs 函数表达式、箭头函数、闭包、作用域链
  • DOM 操作:document.querySelector、事件绑定、事件委托
  • 事件处理:事件冒泡与捕获、addEventListener
  • 异步编程:Promise、async/await、fetch API

React 的 Hooks 本质就是 JS 闭包 + 状态管理,理解 JS 是理解框架的前提。


阶段四:TypeScript 基础 — 类型保障

核心知识点:

  • 类型注解:基础类型标注、函数参数/返回值类型
  • 接口(Interface):对象结构约束、可选属性、只读属性
  • 泛型(Generics):类型参数化、泛型约束
  • 联合类型与交叉类型:|、&
  • 工具类型:Partial、Required、Pick、Omit 等

TypeScript 是现代前端项目的工业标准,越早适应越好。


阶段五:Vite 工程化 — 构建工具

文件索引: DEV/VITE/架构原理.md、DEV/VITE/配置详解.md、DEV/VITE/优化实践.md

5.1 核心设计理念

Vite 的核心创新在于分层优化策略——开发环境和生产环境采用完全不同的处理方式:

开发环境 → ESM 按需编译 → 即时返回
生产环境 → Rollup 预构建 → 高质量产物

5.2 开发环境架构

机制 说明
ESM 按需编译 只编译浏览器请求的文件,而非全量打包
依赖预构建 使用 esbuild 预打包 npm 依赖,转 ESM 格式
文件监听 FSWatcher 监听文件变更,触发 HMR

5.3 热模块替换(HMR)

文件变更 → 监听器 → 服务端失效 → 重新编译 → WebSocket → 浏览器替换
  • JS 模块:通过浏览器原生 import() 重新导入
  • CSS 模块:直接替换 <style> 标签
  • React 组件:React Fast Refresh 保持状态的前提下重新渲染

5.4 生产构建系统

入口文件 → 依赖图构建 → 模块解析 → 代码转换 → 代码分割 → Tree Shaking → 压缩 → 输出
  • 基于 Rollup 进行最终打包
  • 支持手动代码分割(manualChunks)、vendor 提取
  • 使用 terser 进行压缩混淆

5.5 插件系统

插件生命周期:Config → ConfigResolved → ConfigureServer → BuildStart → Transform → Load → BuildEnd → CloseBundle

核心钩子:

  • resolveId:解析模块路径
  • load:加载模块内容
  • transform:转换模块源码

5.6 Vite vs 传统构建工具对比

特性 Vite Webpack Parcel
启动原理 ESM 按需编译 全量打包 零配置打包
HMR 机制 模块级更新 全局重编译 智能更新
配置复杂度 低 高 极低
开发体验 优秀 可优化 良好

阶段六:前端项目实战(Week06)

文件索引: 金山办公作业/Week06/ 目录

6.1 前端项目依赖清单

梳理了现代前端项目的完整依赖体系,包括框架依赖(React、React Router)、构建工具(Vite)、UI 组件库等。

6.2 路由原理

理解了前端路由的核心机制:

  • History API:pushState / replaceState / popstate 事件
  • Hash 路由:# 锚点变化触发 hashchange 事件
  • SPA 路由:单页面应用如何在不刷新页面的情况下切换视图

6.3 统一封装请求

对前端 HTTP 请求进行了系统化的封装:

  • 请求拦截器:统一添加 Token、超时控制
  • 响应拦截器:统一错误处理、401 自动跳转登录
  • 类型安全:使用 TypeScript 定义 API 响应类型
  • Axios 封装:基于 Axios 构建统一请求模块

6.4 登录安全流程

从普通登录到安全登录的完整演进:

普通 HTTPS 登录 → 盐值挑战 → 客户端密钥派生

三层安全防护:

  1. HTTPS 加密传输 — 基础保障
  2. 盐值挑战(Salt Challenge) — 后端下发一次性随机盐值
  3. 客户端 PBKDF2 派生 — 前端用盐值 + 密码做密钥派生,传输层不出现原始密码

6.5 客户端密钥派生(进阶安全)

盐值挑战方案的进阶实现,适用于金融类高安全场景。

完整流程:

步骤 前端操作 生活类比
第一步 向 GetChallenge 接口请求盐值 服务员递给你一张一次性餐巾纸
第二步 用 PBKDF2 算法将密码+盐值做派生 用暗语写在餐巾纸上
第三步 发送派生密钥而非原始密码 厨房对暗语,用完即撕

安全性保证: 即使 HTTPS 被绕过,攻击者只能看到客户端派生的密钥,无法还原原始密码。

6.6 Outlet 组件模式

理解 React 中 Outlet 组件的使用——用于嵌套路由的场景,父路由通过 <Outlet /> 渲染子路由的视图内容,是构建多级导航布局的核心模式。

6.7 题目:在线管理平台

通过实际项目题目将所学知识综合运用,涵盖了路由配置、API 封装、安全认证等完整前端开发流程。

6.8 验收任务清单

Week06 的最终验收目标,确保每个知识点都落实到代码实现中。


学习路径全景图

graph LR
    A[HTML 基础] --> B[CSS 基础]
    B --> C[JavaScript 基础]
    C --> D[TypeScript 基础]
    D --> E[Vite 工程化]
    E --> F[前端项目实战 Week06]
    F --> G[React 框架]

关键认知与心得

  1. 不要跳过基础直接学框架。 React 的 Hooks 本质就是 JS 闭包 + 状态管理,不懂 JS 就看不懂 Hooks。

  2. CSS 是前端最难的部分之一。 Flexbox 和 Grid 需要多动手练习,不是看几篇文章就能掌握的。

  3. TypeScript 不是可选的。 现代前端项目中,TS 是标配,越早适应越好。

  4. 理解工具原理比会用工具更重要。 深入 Vite 架构原理后,能更好地进行性能优化和插件开发。

  5. 安全是前端的重要课题。 从 HTTPS 到盐值挑战再到客户端密钥派生,每一层都在增加攻击者的成本。

  6. 工程化思维贯穿始终。 从依赖管理 → 路由设计 → API 封装 → 构建优化,前端不只是写页面,更是一套系统工程。


关联笔记