资源名称:前端工程化 体系设计与实践

内容简介:

前端工程化包含一系列规范和流程,其可提升前端工程师的工作效率,加快Web开发迭代速度,是现在前端开发领域中非常重要的一环。前端工程化:体系设计与实践》系统、全面地介绍了前端工程体系的各个环节,包括设计要点和实践经验。全书分为7章,分别是前端工程简史、脚手架、构建、本地开发服务器、部署、工作流、前端工程化的未来。

前端工程化:体系设计与实践》适合对前端工程化有一定理解和实践的中高级前端工程师阅读,同样适合对前端工程化感兴趣的服务器端开发者以及运维人员阅读。

作者简介:

周俊鹏

1987年生人,天蝎座,5只猫和1只狗的铲屎官,大前端(客户端+Web Service)践行者。主要研究方向为前端工程化和Web应用层架构,好于研究事物的本质,并且乐于从宏观的角度解决问题。时任搜狗地图Web前端开发主管。

资源目录:

第1章 前端工程简史 1

1.1 前端工程师的基本素养2

1.1.1 前端工程师的发展历史2

1.1.2 前端工程师的技能栈3

1.2 Node.js带给前端的改革7

1.2.1 前端的两次新生7

1.2.2 Node.js带来的改革9

1.3 前后端分离12

1.3.1 原始的前后端开发模式13

1.3.2 前后端分离的基本模式14

1.3.3 前后端分离与前端工程化19

1.4 前端工程化19

1.4.1 前端工程化的衡量准则20

1.4.2 前端工程化的进化历程21

1.4.3 前端工程化的3个阶段 32

1.5 工程化方案架构34

1.5.1 webpack 34

1.5.2 工程化方案的整体架构36

1.5.3 功能规划37

1.5.4 设计原则41

1.6 总结42

第2章 脚手架 43

2.1 脚手架的功能和本质44

2.2 脚手架在前端工程中的角色和特征45

2.2.1 用完即弃的发起者角色45

2.2.2 局限于本地的执行环境47

2.2.3 多样性的实现模式49

2.3 开源脚手架案例剖析51

2.4 集成Yeoman封装脚手架方案 56

2.4.1 封装脚手架方案57

2.4.2 集成到工程化体系中63

2.5 总结 66

第3章 构建 68

3.1 构建功能解决的问题68

3.2 配置API设计原则和编程范式约束 71

3.2.1 配置API设计 71

3.2.2 编程范式约束75

3.3 ECMAscript与Babel 76

3.3.1 ECMAscript发展史76

3.3.2 ES6的跨时代意义78

3.3.3 Babel——真正意义的Javascript编译 80

3.3.4 结合webpack与Babel实现Javascript构建 84

3.4 CSS预编译与PostCSS 89

3.4.1 CSS的缺陷90

3.4.2 CSS预编译器90

3.4.3 PostCSS 91

3.4.4 webpack结合预编译与PostCSS实现CSS构建93

3.4.5 案例:自动生成CSS Sprites功能实现 95

3.5 模块化开发101

3.5.1 模块化与组件化101

3.5.2 模块化与工程化102

3.5.3 模块化开发的价值103

3.5.4 前端模块化发展史107

3.5.5 webpack模块化构建109

3.6 增量更新与缓存112

3.6.1 HTTP缓存策略113

3.6.2 覆盖更新与增量更新117

3.6.3 按需加载与多模块架构场景下的增量更新120

3.6.4 webpack实现增量更新构建方案122

3.7 资源定位128

3.7.1 资源定位的历史变迁128

3.7.2 常规的资源定位思维132

3.7.3 webpack的逆向注入模式132

3.8 总结147

第4章 本地开发服务器 149

4.1 本地开发服务器解决的问题150

4.2 动态构建152

4.2.1 webpack-dev-middleware 152

4.2.2 Livereload和HMR 157

4.3 Mock服务161

4.3.1 Mock的必要前提和发展进程162

4.3.2 异步数据接口166

4.3.3 SSR 172

4.4 总结174

第5章 部署 175

5.1 部署流程的设计原则175

5.1.1 速度——化繁为简177

5.1.2 协作——代码审查和部署队列181

5.1.3 安全——严格审查和权限控制184

5.2 流程之外:前端静态资源的部署策略186

5.2.1 协商缓存与强制缓存186

5.2.2 Apache设置缓存策略186

5.3 总结190

第6章 工作流 191

6.1 本地工作流192

6.1.1 二次构建的隐患193

6.1.2 代码分离与测试沙箱194

6.2 云平台工作流197

6.2.1 GitFlow与版本管理199

6.2.2 WebHook与自动构建201

6.3 持续集成与持续交付203

6.4 总结205

第7章 前端工程化的未来 206

7.1 前端工程师未来的定位206

7.1.1 不只是浏览器207

7.1.2 也不只是Web 208

7.2 前端工程化是一张蓝图209

7.3 总结212

资源截图:

前端工程化 体系设计与实践