侯策《前端基础建设与架构 30 讲》:从工程化到架构设计,一次搞定前端基础设施建设

侯策《前端基础建设与架构 30 讲》:从工程化到架构设计,一次搞定前端基础设施建设插图

背景介绍

快速发展的红利,批量劣汰的挑战;与生俱来的混乱,同混乱抗衡的规范,这些都是前端岗位无法逃避的现状。
有人说,做好业务支撑是活在当下,而做好技术基建,是活好未来。当业务量到达一定量级,妄想依靠“加班”“压榨”这种出蛮力的方式来做好业务会十分困难且危险。
成为“规范制定者”、成为“思考者”,像架构师一样思考问题,你才能成为“优胜者”。

专栏解读

专栏内容不是简单的思维模式输出,不是纯粹阳春白雪的理论,也不是社区搜索即得的 Webpack 配置罗列和原理复述。而是从项目中的痛点提取基础建设的意义,从个人发展瓶颈总结工程化架构和底层设计,专栏将从五个方面带你剖析前端基建:

  • 第一部分,前端工程化管理工具:专栏会以 npm 和 Yarn 包管理工具切入工程化主题,以 Webpack 和 Vite 构建工具加深你对工程化的理解。这里不会枯燥地枚举某项工具的优缺点和基本使用方式,而是深入几项极具代表性的技术原理和演变。只有吃透这些内容,才能真正理解工程化架构和工具选型。
  • 第二部分,现代化前端开发和架构生态:专栏将一网打尽那些大部分开发者每天都会接触到,但很少真正理解的知识点。这部分内容能够帮助你培养前端工程化和基础建设的整体思想,这些知识也是设计一个公共库、主导一项技术方案的基础。
  • 第三部分,核心框架原理与代码设计模式:我们一起来体验经典代码,设计模式和数据结构的艺术。通过学习经典思想和剖析源码内容,你会对优秀框架有深层次的理解,当你有能力开发自己的框架工具,或者学习其他框架时都很有帮助。
  • 第四部分,前端架构设计实战:专栏会一步一步带领你从 0 到 1 实现一个完整的应用项目或公共库。这些工程实践并不是社区上泛滥的 Todo MVC,而是代表先进设计理念的现代化工程架构项目(比如设计实现前端 + 移动端离线包方案等)。在这一部分,专栏也会对编译和构建、部署和发布这一热门话题进行重点讨论。
  • 第五部分,前端全链路——Node.js 全栈开发:这一部分将以实战的方式,灵活运用并实践 Node.js。重点会放在 Node.js 的应用层面和建设发展话题上,比如设计并完成一个真正意义上的企业级网关,这是对前端开发能力的综合培养;再比如带你研究并实现一个完善可靠的 Node.js 服务系统,让你能够真正在团队中落地 Node.js 技术,不断开疆扩土。

LucasHC(侯策)

前百度资深前端开发工程师
某互联网独角兽巨头资深前端开发工程师,负责多条业务线前端团队的架构设计、核心开发、工程方案调研和选型,以及团队管理、人才梯队建设等工作。
曾任职于百度知识搜索部、海外某知名互联网公司,负责多个产品线的大型技术迭代以及管理工作。书籍《React状态管理与同构实战》《前端开发核心知识进阶:从夯实基础到突破瓶颈》作者。

课程目录

开篇词

  • 开篇词 | 像架构师一样思考,突破技术成长瓶颈
  • 导读 | 前端技术发展回顾和架构升级之路

前端工程化管理工具篇

  • 01 | npm 安装机制及企业级部署私服原理
  • 02 | Yarn 的安装理念及如何破解依赖管理困境
  • 03 | CI 环境上的 npm 优化及更多工程化问题解析
  • 04 | 横向对比主流构建工具,了解构建工具的设计考量
  • 05 | Vite 实现:从源码分析出发,构建 bundleless 开发工程

现代化前端开发和架构生态篇

  • 06 | core-js 及垫片理念:设计一个“最完美”的 Polyfill 方案
  • 07 | 梳理混乱的 Babel,不再被编译报错困扰
  • 08 | 探索前端工具链生态,制定一个统一标准化 babel-preset
  • 09 | 从实战出发,从 0 到 1 构建一个符合标准的公共库
  • 10 | 代码拆分和按需加载:缩减 bundle size,把性能做到极致
  • 11 | Tree Shaking:移除 JavaScript 上下文中的未引用代码
  • 12 | 如何理解 AST 实现和编译原理?
  • 13 | 工程化思维处理方案:如何实现应用主题切换功能?
  • 14 | 解析 Webpack 源码,实现自己的构建工具
  • 15 | 从编译到运行,跨端解析小程序多端方案
  • 16 | 原生跨平台技术:移动端跨平台到 Flutter 的技术变革

核心框架原理与代码设计模式篇

  • 17 | 学习 axios:封装一个结构清晰的 Fetch 库
  • 18 | 对比 Koa 和 Redux:分析前端中的中间件理念
  • 19 | 如何理解软件开发灵活性和高定制性?
  • 20 | 如何理解前端中面向对象的思想?
  • 21 | 如何利用 JavaScript 实现经典数据结构?
  • 22 | 剖析前端中的数据结构应用场景

前端架构设计实战篇

  • 23 | npm script:打造一体化的构建和部署流程
  • 24 | 自动化代码检查:剖析 Lint 工具和工程化接入&优化方案
  • 25 | 如何设计一个前端 + 移动端离线包方案?
  • 26 | 如何设计一个“万能”项目脚手架?

前端全链路——Node.js 全栈开发篇

  • 27 | 同构渲染架构:实现一个 SSR 应用
  • 28 | 设计性能守卫系统:完善 CI/CD 流程
  • 29 | 实践打造网关:改造企业 BFF 方案
  • 30 | 实现高可用:使用 Puppeteer 生成性能最优的海报系统

结束语

  • 结束语 | 再谈项目的基建和架构,个人的价值和方向