Skip to content

掌握:

  • HTML 会用
  • CS 会用
  • JS、es6 会用
  • Vue 会用,并且有一定的原理认识,有一个较为完善的小项目
  • ElementPlus 会用
  • tailwindcss 会用
  • sass 会用
  • fontawesome 会用
  • echart 会用
  • vite 会用,但是对于打包部分还是有些不太熟悉
  • git 会用
  • pinia 会用
  • vue router 会用,并且有一定的原理认识
  • gasp 会用
  • Bootstrap 会用 目标:
  • 近期:Webpack与Vite打包、TS 、jest、node
  • 中期:monorepo pnpm、react
  • 后期:跨端、性能优化

Pasted image 20251206001911.png

必须关注的方向:

  • TypeScript生态
  • 构建工具演进(Vite、Turbopack)
  • 跨端开发(小程序、移动端)
  • 性能与用户体验
  • AI工程化(前端与AI结合) 你已经具备了很好的Vue技术栈基础,这是很大的优势。现在需要的是在类型安全工程化深度性能优化方面加强。

立即开始: TypeScript
重点加强: Vite打包和构建优化
选择性了解: Webpack原理
从前端工程师的职业发展角度来看,TypeScriptWebpack 是必须掌握的技术,这两者在现代前端开发中占有重要地位。

针对 TypeScript (TS)ViteWebpack 的学习,建议按以下步骤进行,确保全面掌握每个工具的核心概念、应用场景和实践能力。下面是一份详细的学习计划:


学习计划:TypeScript (TS)

目标:掌握 TypeScript 的基本语法、类型系统、进阶特性,能在 Vue 3 项目中使用 TS。

1. 基础阶段(约 2 周)

  • 核心目标:理解 TypeScript 的基本概念,熟悉其语法和类型系统。
学习内容:
  • 类型系统
    • 基本类型:stringnumberbooleannullundefinedanyunknownvoidnever
    • 类型推导与类型注解。
    • 数组、元组、对象类型。
  • 接口与类型别名
    • interfacetype 的区别与使用。
    • 类和接口的结合,如何使用接口来约束类。
  • 函数类型
    • 函数声明与表达式的类型。
    • 函数重载、可选参数和默认参数。
  • 类与对象
    • 类的基本语法:构造函数、继承、修饰符。
    • 实现接口、抽象类。
  • 联合类型与交叉类型
    • 使用 |& 运算符来定义联合类型和交叉类型。
学习资源:
实践:
  • 将你目前的 Vue 项目中,逐步迁移到 TypeScript。
    • .js 文件转为 .ts
    • 加入类型注解和类型检查,解决潜在的类型问题。

2. 进阶阶段(约 3 周)

  • 核心目标:掌握 TS 的进阶特性,能够在更复杂的项目中应用。
学习内容:
  • 泛型
    • 泛型函数、类、接口。
    • 泛型约束:限制泛型的类型。
    • 使用泛型增强代码的复用性。
  • 模块与命名空间
    • 导入导出:importexport
    • 使用 default 导出。
    • 声明模块。
  • 装饰器(如果你有兴趣或者需要在 Vue 中使用):
    • 类装饰器、方法装饰器、属性装饰器。
  • 高级类型
    • 映射类型、条件类型、索引类型。
    • keyofinfer 等运算符的使用。
    • ReadonlyPartial 等内置工具类型。
学习资源:
实践:
  • 使用 TypeScript 编写一个中型项目,例如一个带有 CRUD 操作的管理后台,增强项目的类型安全性。
  • 在 Vue 3 项目中,完全使用 TS 重构,配合 Pinia 和 Vue Router 使用 TS。

3. 项目应用阶段(约 2 周)

  • 核心目标:将所学的 TS 知识在实际项目中运用,提升实践能力。
实践内容:
  • 完成一个小型 Vue 3 + TypeScript + Pinia 的项目,使用 TypeScript 完整管理项目的状态、路由及视图层。
  • 在项目中:
    • 使用泛型、接口、类型别名等类型系统特性。
    • 配合 Vue 3 的 Composition API 使用 TS。
    • 使用 tsconfig.json 配置文件来优化项目结构。

学习计划:Vite

目标:熟悉 Vite 的基本概念,掌握如何配置、使用 Vite 进行开发和构建优化。

1. 基础阶段(约 1 周)

  • 核心目标:了解 Vite 的工作原理和基本配置。
学习内容:
  • Vite 简介与工作原理
    • 与 Webpack 比较,Vite 的启动速度和热更新优势。
    • Vite 的开发模式与生产模式的区别。
  • Vite 安装与基础配置
    • 使用 Vite 创建项目:npm create vite@latest
    • vite.config.js 配置文件的结构与常见配置。
    • 配置别名、插件、环境变量等。
学习资源:
实践:
  • 用 Vite 创建一个基础的 Vue 3 项目,熟悉其配置与开发流程。
  • 尝试不同的 Vite 插件,如 Vue 插件、CSS 预处理插件等。

2. 进阶阶段(约 2 周)

  • 核心目标:深入理解 Vite 的优化、构建流程,掌握高级配置。
学习内容:
  • Vite 的构建与优化
    • 如何优化项目的构建速度与性能:缓存、代码分割、懒加载等。
    • Vite 的生产模式:构建、压缩、Tree Shaking 等。
  • 插件系统
    • 编写自定义 Vite 插件。
    • 使用官方插件,如 @vitejs/plugin-vuevite-plugin-svelte 等。
  • HMR(Hot Module Replacement)
    • 了解 Vite 的热更新机制,如何自定义热更新行为。
学习资源:
实践:
  • 在 Vue 项目中使用 Vite 配置与优化:
    • 启用代码分割和懒加载,优化构建。
    • 使用 Vite 插件处理样式、图片等静态资源。

学习计划:Webpack

目标:全面掌握 Webpack 的工作原理、配置、插件系统,能熟练使用 Webpack 进行复杂项目构建。

1. 基础阶段(约 2 周)

  • 核心目标:理解 Webpack 的核心概念,掌握基础配置和常见插件的使用。
学习内容:
  • Webpack 简介与核心概念
    • 打包、加载器(Loader)、插件(Plugin)的概念与作用。
    • Webpack 的构建流程:依赖图、模块化、打包过程。
  • Webpack 配置文件
    • webpack.config.js 配置项详解(entryoutputloadersplugins)。
    • 配置常用的 Loader(如 babel-loaderstyle-loadercss-loader)。
    • 配置常用的 Plugin(如 HtmlWebpackPluginMiniCssExtractPlugin)。
学习资源:
实践:
  • 创建一个简单的 Webpack 项目,配置 babel-loader 来支持 ES6 转换,使用 html-webpack-plugin 插件自动生成 HTML。

2. 进阶阶段(约 3 周)

  • 核心目标:深入理解 Webpack 的高级配置、性能优化、构建策略。
学习内容:
  • 优化与性能
    • 代码拆分:SplitChunksPluginDynamic Import
    • 缓存优化:cachecontenthash
    • Tree Shaking:减少无用代码。
  • 高级插件与加载器
    • 使用 eslint-loaderstylelint 等开发时插件进行代码检查。
    • 使用 DefinePluginProvidePlugin 等进行构建时的变量注入。
  • 使用 Webpack 和 Babel 集成进行转译
    • 配置 Babel 来支持 ES6 以上语法和 JSX。
学习资源:
实践:
  • 在 Vue 项目中使用 Webpack 进行配置,尝试代码分割、缓存优化等技术。
  • 配置 Webpack 处理更复杂的资源,例如图像、字体、CSS 和 Sass。

3. 项目应用阶段(约 2 周)

  • 核心目标:在实际项目中使用 Webpack,综合应用所学知识。
实践内容:
  • 在一个大型的 Vue 3 项目中使用 Webpack 进行配置,结合 TS 和 Vue Router 使用 Webpack。
  • 实现代码拆分、动态导入、按需加载等性能优化策略。
  • 配置生产环境与开发环境的构建差异,掌握调试技巧。

我整理了「浏览器与环境」「业务复杂度」的学习清单,包含核心知识点+实践方向+工具,帮你分阶段突破:

一、浏览器与环境 学习清单

(一)基础阶段:核心原理

  1. 浏览器底层机制

    • 知识点:
      • 浏览器渲染流程(解析HTML→构建DOM→CSSOM→渲染树→布局→绘制)
      • 重排(Reflow)/重绘(Repaint)的触发条件+优化方案
      • 事件循环(宏任务/微任务)+异步渲染机制
    • 实践:
      • 用Chrome DevTools的「Performance」面板分析页面渲染耗时
      • 写Demo验证“DOM操作顺序对重排的影响”
  2. 跨域与安全

    • 知识点:
      • 同源策略定义+跨域方案(CORS/JSONP/代理/PostMessage)
      • XSS/CSRF攻击原理+防御手段(CSP/Token)
      • 浏览器存储(Cookie/LocalStorage/SessionStorage/IndexedDB)的区别+使用场景
    • 实践:
      • 搭建本地代理服务解决跨域
      • 实现“防XSS的富文本输入框”
  3. 环境适配

    • 知识点:
      • 移动端适配:rem/vw/vh方案、viewport设置、Retina屏适配
      • 多端兼容:PC端 vs 移动端浏览器差异、低版本浏览器(IE)兼容技巧
      • 网络环境:弱网/断网适配(请求重试/缓存降级)
    • 实践:
      • 写一个自适应多端的页面(PC+移动端)
      • 模拟弱网环境测试页面加载策略

(二)进阶阶段:高级特性

  1. 缓存与性能

    • 知识点:
      • 浏览器缓存:强缓存(Cache-Control/Expires)+协商缓存(ETag/Last-Modified)
      • HTTP缓存策略设计(如静态资源哈希命名)
      • 预加载(preload)/预解析(preconnect)/懒加载(lazyload)
    • 实践:
      • 配置Nginx实现HTTP缓存策略
      • 给图片/脚本加懒加载并测试加载性能
  2. 高级环境技术

    • 知识点:
      • SSR(服务端渲染)/SSG(静态站点生成)原理+框架(Next.js/Nuxt.js)
      • PWA(渐进式Web应用):Service Worker/缓存策略/离线可用
      • Web Worker:多线程任务(如大数据计算)
    • 实践:
      • 用Next.js写一个SSR页面
      • 实现一个“离线可用的TodoList”(PWA)

二、业务复杂度 学习清单

(一)基础阶段:通用复杂场景

  1. 电商类场景

    • 知识点:
      • 购物车:商品增删改查/选中状态同步/价格计算(防抖优化)
      • 订单流程:多状态切换(待支付/已发货)/库存扣减(乐观锁/悲观锁)
      • 支付:第三方支付对接(微信/支付宝)/支付状态轮询
    • 实践:
      • 实现“购物车商品数量变化时的实时价格计算”(处理并发修改)
  2. 数据密集型场景

    • 知识点:
      • 大数据表格:虚拟滚动(如vue-virtual-scroller)/列拖拽/单元格编辑
      • 图表可视化:大数据量渲染(WebGL方案如ECharts GL)/实时数据更新
    • 实践:
      • 实现“10万条数据的虚拟滚动表格”

(二)进阶阶段:高复杂度场景

  1. 高并发/实时场景

    • 知识点:
      • 直播/弹幕:WebSocket长连接/消息限流/弹幕防刷屏
      • 实时协同:CRDT算法(多人编辑冲突解决)/WebSocket+心跳机制
    • 实践:
      • 用WebSocket实现“简易弹幕系统”(处理1000+用户并发发送)
  2. 大型项目架构

    • 知识点:
      • 状态管理:复杂状态拆分(如Redux分模块/ Zustand多Store)/状态持久化
      • 权限系统:RBAC模型/动态路由/按钮级权限控制
      • 微前端:qiankun/Module Federation(子应用通信/样式隔离)
    • 实践:
      • 实现“基于RBAC的权限管理系统”(动态生成菜单+按钮权限)

(三)实战阶段:问题排查

  • 知识点:
    • 线上问题定位:错误监控(Sentry)/用户行为埋点/日志分析
    • 性能瓶颈:大文件上传(分片上传)/长列表卡顿(内存优化)
  • 实践:
    • 模拟“大文件分片上传+断点续传”功能

要不要我帮你补充一份每个知识点对应的学习资源(文档/教程)