本书以前端工程化所需掌握的技能为主线,以理论基础为核心,引导读者从基础到进阶再到实战的渐进式学习前端工程化。本书主脉络从基础的能够进行配置化的使用工具进行工程化搭建,到能够改善部分工程化工具,再到能够结合实际业务需求进行灵活的定制工程化工具,让读者循序渐进地掌握工程化的一些实现能力,从而能够闭环开发流程、产品流程甚至企业管理流程,从而提升整体的效率,节约成本,为企业赋能。
本书共21章,分为基础篇、进阶篇及实战篇。基础篇(第1~8章)主要讲述了前端工程化的一些基础,包括框架、组件库、包管理、打包器、规范、测试库及CICD的一些业界常见工具和方法;进阶篇(第9~14章)从研发流程视角出发,系统深入地剖析前端工程化的相关工作流程及工程化内容,包括物料、开发、构建、测试、发布、监控;实践篇(第15~21章)则从产品及企业流程视角出发,结合常见的业务场景实践,例举在不同团队角色下的实践方案,为产品及企业赋能,包括产品、设计、前端、后端、测开、运维。本书项目案例丰富,涉猎范围广,能够覆盖前端工程化的常见场景,实际性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重难点。
本书既适合初学者入门,也适合有多年前端工程化经验的开发者进行参考,并可作为高等院校和培训机构相关专业的教学参考书。
本书源码
基础篇
第1章绪论(22min)
1.1前端发展史
1.1.1上古时代
1.1.2石器时代
1.1.3农业时代
1.1.4工业时代
1.1.5信息时代
1.1.6云边端时代
1.2前端工程化
1.2.1定义
1.2.2范围
1.3本章小结
第2章框架(77min)
2.1Vue全家桶
2.1.1Vue
2.1.2Vuex
2.1.3Vue Router
2.2React全家桶
2.2.1React
2.2.2Redux
2.2.3React Router
2.3Angular全家桶
2.3.1Angular
2.3.2NgRx
2.3.3Angular Router
2.4Svelte全家桶
2.4.1Svelte
2.4.2Svelte Spa Router
2.5本章小结
第3章组件库(45min)
3.1Element UI
3.1.1指南
3.1.2组件
3.1.3主题
3.1.4国际化
3.1.5文档
3.1.6资源
3.2Ant Design
3.2.1指南
3.2.2组件
3.2.3主题
3.2.4国际化
3.2.5文档
3.2.6资源
3.3本章小结
第4章包管理(31min)
4.1NPM
4.2YARN
4.3PNPM
4.4Lerna
4.5本章小结
第5章打包器(45min)
5.1Webpack
5.2Rollup
5.3Gulp
5.4Vite
5.5本章小结
第6章规范(19min)
6.1编码规范
6.1.1命名规范
6.1.2注释规范
6.1.3模板规范
6.1.4样式规范
6.1.5脚本规范
6.1.6框架规范
6.2版本规范
6.2.1格式规范
6.2.2控制规范
6.3本章小结
第7章测试库(19min)
7.1Jest
7.2Karma
7.3Jasmine
7.4本章小结
第8章CI/CD(8min)
8.1Jenkins
8.2GitLab CI
8.3本章小结
进阶篇
第9章物料(15min)
9.1工程模板
9.1.1国际化
9.1.2主题
9.2最佳实践
9.2.1Ant Design Pro
9.2.2Vue Element Admin
9.2.3Ice App
9.3本章小结
第10章开发(18min)
10.1脚手架
10.1.1VueCLI
10.1.2createreactapp
10.1.3createumi
10.2配置
10.2.1接口
10.2.2菜单
10.3Mock
10.3.1MockJS
10.3.2FakerJS
10.3.3SuchJS
10.4本章小结
第11章构建(19min)
11.1本地构建
11.1.1低代码构建
11.1.2IDE插件
11.2泛云端构建
11.2.1云IDE
11.2.2边缘构建
11.2.3智能构建
11.3跨语言构建
11.3.1Rust
11.3.2Go
11.4本章小结
第12章测试(10min)
12.1单元测试
12.2集成测试
12.3UI测试
12.4本章小结
第13章发布(13min)
13.1发布策略
13.1.1灰度发布
13.1.2蓝绿发布
13.1.3滚动发布
13.2权限控制
13.3本章小结
第14章监控(9min)
14.1性能监控
14.2错误监控
14.3行为监控
14.4本章小结
实践篇
第15章产品(10min)
15.1产品文档
15.1.1背景介绍
15.1.2架构设计
15.1.3技术选型
15.1.4源码浅析
15.1.5总结展望
15.2产品原型
15.2.1背景介绍
15.2.2架构设计
15.2.3技术选型
15.2.4源码浅析
15.2.5总结展望
15.3本章小结
第16章设计(13min)
16.1图床
16.1.1背景介绍
16.1.2架构设计
16.1.3技术选型
16.1.4源码浅析
16.1.5总结展望
16.2设计工具插件
16.2.1背景介绍
16.2.2架构设计
16.2.3技术选型
16.2.4源码浅析
16.2.5总结展望
16.3走查平台
16.3.1背景介绍
16.3.2架构设计
16.3.3技术选型
16.3.4源码浅析
16.3.5总结展望
16.4本章小结
第17章前端(17min)
17.1Lint规范
17.1.1背景介绍
17.1.2架构设计
17.1.3技术选型
17.1.4源码浅析
17.1.5总结展望
17.2Babel插件
17.2.1背景介绍
17.2.2架构设计
17.2.3技术选型
17.2.4源码浅析
17.2.5总结展望
17.3微前端
17.3.1背景介绍
17.3.2架构设计
17.3.3技术选型
17.3.4源码浅析
17.3.5总结展望
17.4监控SDK
17.4.1架构设计
17.4.2技术选型
17.4.3源码浅析
17.4.4总结展望
17.5本章小结
第18章后端(13min)
18.1BFF
18.1.1背景介绍
18.1.2架构设计
18.1.3技术选型
18.1.4源码浅析
18.1.5总结展望
18.2Serverless
18.2.1背景介绍
18.2.2架构设计
18.2.3技术选型
18.2.4源码浅析
18.2.5总结展望
18.3网关
18.3.1背景介绍
18.3.2架构设计
18.3.3技术选型
18.3.4源码浅析
18.3.5总结展望
18.4本章小结
第19章测试开发(9min)
19.1测试套件
19.1.1背景介绍
19.1.2架构设计
19.1.3技术选型
19.1.4源码浅析
19.1.5总结展望
19.2测试平台
19.2.1背景介绍
19.2.2架构设计
19.2.3技术选型
19.2.4源码浅析
19.2.5总结展望
19.3本章小结
第20章运维(13min)
20.1故事板
20.1.1背景介绍
20.1.2架构设计
20.1.3技术选型
20.1.4源码浅析
20.1.5总结展望
20.2私有仓库
20.2.1背景介绍
20.2.2架构设计
20.2.3技术选型
20.2.4源码浅析
20.2.5总结展望
20.3云平台
20.3.1背景介绍
20.3.2架构设计
20.3.3技术选型
20.3.4源码浅析
20.3.5总结展望
20.4本章小结
第21章展望(12min)
21.1定位
21.2趋势
21.3本章小结
参考文献