作 者:侯策 著
定 价:108
出 版 社:电子工业出版社
出版日期:2022年08月01日
页 数:376
装 帧:平装
ISBN:9787121439827
●第一部分前端工程化管理工具
01安装机制及企业级部署私服原理2
npm内部机制与核心原理2
npm不接近指南6
npm多源镜像和企业级部署私服原理9
总结11
02Yarn安装理念及依赖管理困境破解12
Yarn的安装机制和背后思想14
破解依赖管理困境17
总结21
03CI环境下的npm优化及工程化问题解析22
CI环境下的npm优化22
更多工程化相关问题解析23
很好实操建议30
总结31
04主流构建工具的设计考量32
从ToolingReport中,我们能学到什么32
总结36
05Vite实现:源码分析与工程构建37
Vite的“横空出世”37
Vite实现原理解读38
总结50
第二部分现代化前端开发和架构生态
06谈谈core-js及polyfill理念52
core-js工程一览52
如何复用一个polyfill54
寻找很好的polyfill方案59
总结62
07梳理混乱的Babel,拒绝编译报错63
Babel是什么63
BabelMonorepo架构包解析64
Babel工程生态架构设计和分层理念75
总结78
08前端工具链:统一标准化的babel-preset79
从公共库处理的问题,谈如何做好“扫雷人”79
应用项目构建和公共库构建的差异81
一个企业级公共库的设计原则81
制定一个统一标准化的babel-preset82
总结91
09从0到1构建一个符合标准的公共库92
实战打造一个公共库92
打造公共库,支持script标签引入代码96
打造公共库,支持Nodejs环境100
从开源库总结生态设计103
总结104
10代码拆分与按需加载105
代码拆分与按需加载的应用场景105
代码拆分与按需加载技术的实现106
Webpack赋能代码拆分和按需加载113
总结119
11TreeShaking:移除JavaScript上下文中的未引用代码120
TreeShaking必会理论120
前端工程化生态和TreeShaking实践124
总结131
12理解AST实现和编译原理132
AST基础知识132
AST实战:实现一个简易TreeShaking脚本136
总结141
13工程化思维:应用主题切换142
设计一个主题切换工程架构142
主题色切换架构实现145
总结150
14解析Webpack源码,实现工具构建151
Webpack的初心和奥秘151
手动实现打包器156
总结160
15跨端解析小程序多端方案161
小程序多端方案概览161
小程序多端――编译时方案162
小程序多端――运行时方案164
小程序多端――类React风格的编译时和运行时结合方案166
小程序多端方案的优化176
总结178
16从移动端跨平台到Flutter的技术变革179
移动端跨平台技术原理和变迁179
Flutter新贵背后的技术变革188
总结194
第三部分核心框架原理与代码设计模式
17axios:封装一个结构清晰的Fetch库196
设计请求库需要考虑哪些问题196
axios设计之美199
总结206
18对比Koa和Redux:解析前端中间件207
以Koa为代表的Nodejs中间件设计207
对比Express,再谈Koa中间件210
Redux中间件设计和实现213
利用中间件思想,实现一个中间件化的Fetch库215
总结218
19软件开发灵活性和高定制性219
设计模式219
函数式思想应用223
总结227
20理解前端中的面向对象思想228
实现new没有那么容易228
如何优雅地实现继承230
jQuery中的面向对象思想234
类继承和原型继承的区别236
总结237
21利用JavaScript实现经典数据结构238
数据结构简介238
堆栈和队列239
链表(单向链表和双向链表)241
树247
图251
总结255
22剖析前端数据结构的应用场景256
堆栈和队列的应用256
链表的应用257
树的应用260
总结263
第四部分前端架构设计实战
23npmscripts:打造一体化构建和部署流程266
npmscripts是什么266
npmscripts原理267
npmscripts使用技巧269
打造一个lucas-scripts270
总结276
24自动化代码检查:剖析Lint工具277
自动化工具277
lucas-scripts中的Lint配置很好实践281
工具背后的技术原理和设计283
总结285
25前端+移动端离线包方案设计286
从流程图分析hybrid性能痛点286
相应优化策略287
离线包方案289
方案持续优化293
总结294
26设计一个“万能”的项目脚手架295
命令行工具的原理和实现295
从命令行到万能脚手架304
总结306
第五部分前端全链路――Nodejs全栈开发
27同构渲染架构:实现SSR应用308
实现一个简易的SSR应用308
SSR应用中容易忽略的细节312
总结317
28性能守卫系统设计:完善CI/CD流程318
性能守卫理论基础318
Lighthouse原理介绍319
性能守卫系统Perf-patronus322
总结328
29打造网关:改造企业BFF方案329
BFF网关介绍和优缺点梳理329
打造BFF网关需要考虑的问题330
实现一个lucas-gateway333
总结340
30实现高可用:Puppeteer实战341
Puppeteer简介和原理341
Puppeteer在SSR中的应用342
Puppeteer在UI测试中的应用345
Puppeteer结合Lighthouse的应用场景345
通过Puppeteer实现海报Nodejs服务347
总结353
快速发展的红利、优胜劣汰的挑战、与生俱来的混乱、同混乱抗衡的规范……这些都是前端从业者无法逃避的现状。有人说,做好业务支撑是活在当下,而做好技术基建是活好未来。当业务量到达一定量级时,成为“规范制定者”,成为“思考者”,像“架构师”一样思考问题,才能最终成为“优胜者”。本书内容不是简单的思维模式输出,不是纯粹“阳春白雪”的理论,也不是社区搜索即得的 Webpack配置罗列和原理复述,而是从项目痛点中提取出的基础建设的意义,以及从个人发展瓶颈中总结出的工程化架构和底层设计原理。本书不仅能帮助开发者夯实基础,还能为开发者实现技术进阶提供帮助和启发。
侯策 著
"侯策
就职于某内容社区类互联网上市公司,具有多年海内外工作经验,曾先后就职于法国ENGIE集团、Google、百度等知名企业。
擅长前端工程化体系搭建及基础建设架构设计。深入了解前端各类技术框架和相关技术栈,具有丰富的高流量产品稳定性建设及性能和用户体验优化经验,在业务提效和质量保障方面亦有深厚积累,在跨端开发(包括小程序矩阵开发)、富文本编辑器、Node.js、React等技术方向有较强的业内影响力。在技术氛围打造、团队成员培养、技术体系建设、新技术落地、难点攻坚、历史包袱重构等方面均有丰富的实践经历。
著有《React状态管理与同构实践》《前端开发核心知识进阶:从夯实基础到突破瓶颈等