稀土掘金技术社区 前天 14:15
【万字总结】2025 前端+大前端+全栈 知识体系(下)
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文详细介绍了前端开发的知识体系,涵盖了服务端基础、JS 运行时、数据库、云服务、Linux 基础、Docker、Serverless、React、Vue、Node 服务端、小程序、移动端、PC 客户端、微前端、PWA、工程化、代码库管理、打包工具、JS 编译器、代码压缩、CSS 处理、编码规范和格式、开发环境、调试、Mock、测试、统计和监控、安全、性能优化、项目管理、项目角色、敏捷开发、软件研发过程、项目管理常用工具、非技术事项、AI 编程资讯等方面的内容,为前端开发者提供了全面的学习参考。

📚 服务端基础:介绍了 JS 开发的服务端知识,包括 Node.js 生态、Deno、Bun、API 模块、CommonJS/ES-Module、命令行、网络、文件、流、进程、集群、调试、测试、数据库(MySQL、PostgreSQL、MongoDB、Redis、云数据库)、存储(阿里云 OSS、腾讯云 COS、亚马逊 S3)、云服务器、Linux 登录、Linux 基础命令、Vim 命令、Nginx 配置、安全组和防火墙、Docker、Serverless 等内容。

🌐 前端框架:详细介绍了 React 和 Vue 的使用,包括 JSX 语法、函数组件、状态管理、Hooks、Context、性能优化、React 原理、Vue 原理等,并介绍了 React 和 Vue 的生态。

🔧 工程化:介绍了前端工程化的相关知识,包括代码库管理、打包工具、JS 编译器、代码压缩、CSS 处理、编码规范和格式、开发环境、调试、Mock、测试、统计和监控、安全、性能优化等。

📈 项目管理:介绍了项目管理方面的知识,包括项目角色、敏捷开发(Scrum、Kanban)、软件研发过程、项目管理常用工具等。

🌱 非技术事项:介绍了非技术事项方面的知识,包括持续学习、独立思考、时间管理、保持形象、定期体检等。

原创 前端双越老师 2025-07-05 09:00 重庆

点击关注公众号,“技术干货” 及时达!

大家好,我是双越老师,也是 wangEditor 作者。

书接上回 2025 前端+大前端+全栈 知识体系(上),本文继续写完这个知识体系。

服务端基础服务端是一个很宽泛的概念,本文只讨论 JS 开发的服务端。

JS 运行时「Nodejs」 生态成熟,应用广泛

「Deno」 支持 TS,默认安全性,兼容 WebAPI

「Bun」 极致性能,All-in-one

Nodejs API「模块」 CommonJS, ES-Module

「命令行」

「网络」 HTTP HTTPS 服务

「文件 fs」 读取 写入 创建 删除 文件...

「流 stream」 readline

「进程 process」

「集群 cluster」 PM2

「调试 debugger」

「测试」

数据库「MySQL」 关系型数据库

「PostgreSQL」 关系型数据库

「MongoDB」 No-SQL 数据库

「Redis」 内存数据库,速度快

「云数据库」 Suspabase Cloudflare 等

存储「阿里云 OSS」

「腾讯云 COS」

「亚马逊 S3」

云服务器各个云平台都有免费试用,或低价活动,如果是学习用,可以轮流“薅羊毛”。

「Linux 登录」 创建账户

「Linux 基础命令」

「Vim 命令」

「Nginx 配置」

「安全组和防火墙」

Docker「镜像 Image」

「容器 Container」

「DockerFile」

「Docker Compose」

「DockerHub」

Serverless「阿里云 FC 函数计算」

「亚马逊 Lambda」

「其他中小型服务商」 Vercel Netlify Railway Fly.io 等

微服务框架/库React 使用「JSX 语法」 上文有介绍

「函数组件 Functional Component」,纯函数,副作用,生命周期,组件通讯

「属性 Props」

「状态 State」 不可变数据,immer.js,“合并”更新,异步更新,表单受控组件

「Hooks」 useState, useEffect, useRef, useContext ... 自定义 Hook, react-use

「Context」 Provider, Consumer

「性能优化」 useMemo, useCallback, React.memo, React compiler ....

「Suspense 和异步组件」

「报错 ErrorBoundary」

「服务端组件 RSC」 服务端渲染 SSR

React 原理「Virtual DOM」 React 使用的虚拟文档对象模型,通过对比更新来优化性能

「Diff 算法」 对比新旧 vdom 并更新真实 DOM

「Reconciliation」 React 的更新算法,用于高效地比较虚拟 DOM 与旧虚拟 DOM 之间的差异,并决定最小化的更新操作

「React Fiber」 React 16 引入的重写的渲染引擎,提供更高效的渲染机制

「React 合成事件」 React 使用事件代理机制,将事件监听器挂载到根 DOM 节点上,而不是每个组件的 DOM 节点,减少了事件监听器的数量,提高了性能

「React Concurrency」 是 React 18 引入的一项重要特性,使用时间分片和任务调度,用于提升应用的响应性和性能

「React Batching Update」 React 会对多次 state 更新进行批量处理,合并成一次更新,以减少不必要的重渲染和性能开销

React 生态「框架」 umijs, Next.js, Remix(react-router), Gatsby, React-Native

「UI 组件库」 AntD, MUI, ShadcnUI

「状态管理」 Redux, Zustand, MobX, Recoil

「CSS 样式解决方案」 TailwindCSS, Styled-components

「表单和校验」 Formik, React hook form

「数据获取」 React Query, SWR, Apollo Client

「i18n」 react-i18next

「测试」 Jest, Reat testing library, Storybook

Vue 使用「脚手架」

「模板语法」 类和样式,条件渲染,列表渲染,事件绑定,指令

「响应式」 ref,reactive,reactive 局限性

「Computed」

「watch」 watchEffect

「表单和 v-model」

「组件」 生命周期,组件通讯,属性 props

「插槽 slot」

「异步组件」

「动态组件」

「KeepAlive」

「组合式函数 Composable」 自定义 Composable,vue-use

「Setup Script」

Vue 原理「Virtual DOM」 Vue 使用虚拟 DOM 来优化 DOM 操作,避免直接操作真实 DOM,从而提高性能

「Diff 算法」 对比新旧 vdom 并更新真实 DOM

「响应式原理」 Vue 的核心特性之一,通过数据劫持(Object.defineProperty 或 Proxy)实现视图与数据的双向绑定

「模板编译」 Vue 将模板(HTML)编译成渲染函数,并通过虚拟 DOM 渲染 UI。编译过程将模板转换为可执行的 JavaScript 代码

「异步渲染」 NextTick

Vue 生态「框架」 Nuxt.js, VuePress

「路由」 Vue-router

「UI 组件库」 ElementPlus, AntDesignVue, VantUI, Vuetify ...

「状态管理」 Vuex, Pina

「i18n」 vue-i18n

「测试」 Vitest, Vue-test-utils, StoryBook

其他前端框架/库「Angular」 老牌全能框架

「Selvte」 无 vdom,编译时框架,轻量高效

「Solid」 无 vdom,响应式编程,高效渲染

Node 服务端「Express」 老牌 Nodejs 服务端框架,简洁易用

「Koa」 由 Express 的原班人马开发,Koa 提供了更精简和灵活的 API,利用现代 JavaScript 特性如 async/await,目标是创建更小、更优雅的框架

「Egg」 由阿里巴巴开发,基于 Koa 构建的企业级框架,提供了完善的插件机制和企业级功能,适用于构建复杂和大规模的应用

「Nest.js」 Nodejs 开发的 Spring 框架

Node 服务端生态「数据库 ORM」 Prisma Drizzle

「Auth 校验」 NextAuth

「tRPC 通讯」

「i18n 多语言」

「队列服务」 RabbitMQ, Kafka

「缓存」

「日志」

「AI 服务」 ChatGPT (对中国地区停止 API 服务),DeepSeek 等

「邮件服务」 各大邮箱网站都提供免费 SMTP 服务(会有限制), resend 等付费服务商

「短信服务」 腾讯云,阿里云

「支付」 微信支付,支付宝,Stripe

想学习 Node 全栈生态,推荐我带队开发的 Node 全栈 AIGC 知识库项目 划水AI

www.huashuiAI.com

包括文档管理、富文本编辑、AI 智能写作、多人协同编辑等功能。复杂业务,真实上线,持续运维。 可免费加群围观,也可加入学习和参与开发。
小程序「框架」 如 「uni-app」「Taro」「WePY」,提供跨平台开发的工具和规范。

「组件化」 小程序开发采用组件化方式,开发者可以创建自定义组件,提高代码的重用性和可维护性。

「WXML」 小程序的标记语言,类似 HTML,用于定义页面的结构。

「WXCC」 小程序的样式表语言,类似于 CSS,用于为 WXML 页面设置样式。

「API」 小程序提供了大量的官方 API,如 「微信支付」「位置服务」「分享功能」等,供开发者在小程序中调用。

「小程序路由」 使用 

wx.navigateTo

wx.redirectTo

wx.switchTab

 等 API 进行页面导航,支持页面栈管理。
「小程序生命周期」 小程序的生命周期包括 「onLaunch」「onShow」「onHide」 等,开发者可以在不同的生命周期阶段执行相关操作。

「小程序云开发」 提供云函数、云数据库、云存储等后端服务,简化开发者后端处理,提升开发效率。

「发布和调试」 使用 「微信开发者工具」 进行本地调试和真机调试,确保小程序在各平台上正常运行,最终通过开发者工具上传并发布到微信平台。

移动端「React Native」 基于 React 的移动端框架。

「Weex」 阿里巴巴开发,基于 Vue 的移动端框架。不维护了。

「Flutter」 Google 开发,使用 Dart 语言

PC 客户端「Electron」 使用 「HTML、CSS、JavaScript」 开发跨平台桌面应用(支持 Windows、macOS 和 Linux)

微前端「Single-SPA」 是一个非常流行的微前端框架,允许多个前端框架(如 React、Vue、Angular 等)在同一个页面中并行运行。

「Qiankun」 是阿里巴巴开源的微前端框架,基于 Single-SPA 开发,提供了更多的功能封装和优化。

「Module Federation (webpack5)」 允许在运行时动态加载和共享模块。它可以帮助解决微前端中的共享库和组件的问题。

PWA工程化代码库管理「Git」 Github,Gitlab,git 命令,commits,pre-commit hook, Pull request

「Monorepo」 单个仓库中管理多个项目

脚手架react vue 等各个框架的 cli 工具

「AI 生成代码工具」 v0, bolt.new

打包工具「Webpack」 老牌打包工具,使用广泛

「Vite」 使用 ES Module 开发环境启动快

「Parcel」 无需配置,开箱即用

「esbuild」 使用 Go 语言开发,速度快,综合性编译和打包工具

「Rspack」 同样使用 Go 语言开发,速度快,综合性编译和打包工具

「Turbopack」 Vercel 公司使用 Rust 开发 JS 打包工具,用于 Next.js 项目,也可以独立使用

「Rollup」 老牌打包工具,使用 Tree-shaking 优化代码,Vite 内部使用

「Rolldown」 新工具,Rust 开发,Vite 内部使用

JS 编译器babel SWC 等

「Babel」 老牌 JS 编译工具,使用广泛

「SWC」 使用 Rust 语言开发的 JS 编译器,速度是 Babel 的 20-70 倍(不同 CPU),而且原生支持 TS 和 JSX 语法,旨在替代 Babel 。Vite 内部使用的就是 SWC 。

「Respack」 使用 Go 语言开发,速度快,综合性编译和打包工具

「esbuild」 同样使用 Go 语言开发,速度快,综合性编译和打包工具

代码压缩「UglifyJS」 老牌 JS 压缩工具

「Terser」 基于 UglifyJS 源码开发的,支持 ES6 新语法,对 tree-shaking 也做了优化。

很多 JS 编译和打包工具都集成了代码压缩功能,如 「SWC」「esbuild」

CSS 处理「Sass/SCSS」 是 CSS 的一种扩展,提供了变量、嵌套规则、混合宏(mixins)、继承等功能。SCSS 是 Sass 的语法扩展,兼容普通的 CSS 语法。

「Less」 是一个 CSS 预处理器,与 Sass 类似,提供了变量、函数、嵌套等功能,用来增强 CSS 的功能性。

「PostCSS」 是一个 JavaScript 工具,允许开发者使用插件对 CSS 进行处理和转换。PostCSS 本身是一个工具平台,通过插件实现不同的功能。

「Autoprefixer」 是 PostCSS 的一个插件,自动为 CSS 属性添加浏览器前缀。它基于 can-i-use 数据库,自动判断哪些属性需要添加前缀,并且在构建时进行处理。

编码规范和格式「eslint」 规范 Recommended Airbnb Google StandardJS

「prettier」

CD/CD「Github Action」 是 GitHub 提供的持续集成和持续交付(CI/CD)平台,允许用户在代码仓库中定义自动化工作流,自动化构建、测试和部署过程

「Gitlab CI」 是 GitLab 提供的集成式 CI/CD 系统,允许开发者通过 

.gitlab-ci.yml

 配置文件自动化构建、测试和部署,并与 GitLab 仓库紧密集成。
「Jenkins」 持续集成/持续交付工具,用于自动化构建和测试。

开发环境IED 编辑器「vscode」 可集成 github copilot 智能编码

「webstorm」

「Cursor」 集成 AI 智能编码,付费

「codepen」 在线 IDE

「stackblitz」 在线 IDE

调试「debugger 和断点」

「chrome 控制台」 Element, Console, Network, Performance, Memory ...

抓包「chrome 控制台 Network」

「charles」

「fiddler」

mock「Mock.js」

「Mock 在线服务」

测试结合 CI/CD 自动化测试

单元测试「Jest」 是一个广泛使用的 JavaScript 测试框架,提供了丰富的功能,如断言、模拟、快照测试和覆盖率报告,广泛应用于 React 项目的单元测试。

「Vitest」 是一个快速、轻量级的测试框架,兼容 Jest API,利用 Vite 构建工具进行高效的测试运行,适合现代前端开发和快速反馈的需求。

「React Testing Library」 与 Jest 配合使用,专注于通过用户交互测试组件行为,而不是内部实现,鼓励测试组件的可访问性和用户体验。

「Vue Test Utils」 Vue 官方提供的测试工具,专门用于编写和运行 Vue 组件的单元测试,提供了诸如挂载组件、触发事件、访问组件实例等功能。

E2E 测试「Cypress」 是一个端到端测试框架,专注于前端应用的自动化测试,提供快速、可靠的测试执行和调试功能。

「Playwright」 是一个跨浏览器自动化工具,支持 Chromium、WebKit 和 Firefox,适用于多浏览器端到端测试。

「Puppeteer」 是一个基于 Node.js 的库,用于控制 Chromium 浏览器进行自动化测试和网页抓取,适合进行浏览器操作和内容提取。

统计、监控、安全和优化统计和监控「百度统计」 PV UV 等

「Sentry」 综合性的 APM 监控平台

报错监控

性能统计和监控

安全「跨站脚本攻击 XSS」 攻击者通过注入恶意脚本代码到网页中,从而窃取用户信息或执行未授权操作

「跨站请求伪造 CSRF」 攻击者诱使用户在已经认证的站点上执行恶意操作,利用用户的认证信息发送不必要的请求

「SQL 注入」 通过将恶意的 SQL 查询代码注入到应用程序的数据库查询中,攻击者能够篡改数据库。

性能优化「性能指标 Web vitals」 TTFB, FCP, LCP, FID, CLS, INP

「代码分割」 常用模块可以缓存

「懒加载」 JS 懒加载,图片懒加载

「资源压缩」 代码,图片

「渲染优化」 减少页面渲染次数,避免不必要的 reflow 和 repaint

「CDN」

「Edge 边缘计算」

项目管理项目角色「Product Owner 产品负责人」

「Product Manager 项目经理」 负责整体项目的规划、进度管理、资源协调和风险控制

「FrontEnd Developer 前端开发」

「BackEnd Developer 后端开发」

「FullStack Developer 全栈开发」

「UI/UX Designer UI/UX 设计师」

「QA 测试工程师」

Scrum 敏捷开发「Sprint」 Scrum 中的迭代周期,通常持续 1 到 4 周。在每个 Sprint 中,团队会完成一定数量的任务,并交付一个可用的产品增量。

「Backlog」 产品待办事项列表,包含所有待开发的功能、修复、改进等项,由产品负责人(Product Owner)管理和优先级排序。

「Daily Standup」 团队每天举行的短会议,通常 15 分钟,成员讨论各自的工作进展、遇到的障碍和接下来的工作计划。

「Sprint Review」 Sprint 结束时,团队展示已完成的工作成果,和产品负责人、相关利益相关者一起评审进展并进行反馈。

「Sprint Retrospective」 Sprint 结束后,团队反思整个过程,讨论哪些方面做得好、哪些需要改进,以便在下一个 Sprint 中提升团队效率和协作。

kanban 敏捷开发类似于 Scrum 但更加灵活,没有固定的周期和角色,适合持续快速的交付。

软件研发过程需求评审和 UI 设计

技术方案设计

开发过程:编码、调试、单元测试、自测、写注释和文档、代码走查等

联调

提测

上线

全量

小流量(灰度)

ABTest

项目管理常用工具「任务管理」 Jira (综合性), Github project

「问题管理」 Github/Gitlab Issues

「知识库/文档平台」 语雀,Notion ...

非技术事项持续学习,及时关注新技术

独立思考,凡事考虑本质和价值,多问为什么

低头做事,抬头看路,定期放空自己,闲下来

时间管理,有目标性和计划性,写出 todos 不要忘了

保持形象,可以个性但不能油腻,追求合适的衣服、鞋子和发型

定期体检,爱护头发、颈椎、腰椎,健康饮食和作息

最后爆肝一周,每天搜索和整理 2h,终于写完了。希望给所有前端开发员的同学一份专业详细的参考目录。

如哪里有疏漏,请在评论区告诉我。

AI编程资讯AI Coding专区指南:

https://aicoding.juejin.cn/aicoding

""~

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

前端 知识体系 React Vue Node.js
相关文章