前端跨界开发指南:Javascript工具库原理解析与实战
定 价:129 元
丛书名:Web开发技术丛书
- 作者:史文强 著
- 出版时间:2022/7/1
- ISBN:9787111708049
- 出 版 社:机械工业出版社
- 中图法分类:TP312.8
- 页码:412
- 纸张:
- 版次:
- 开本:16
本书是字节跳动资深前端工程师呕心沥血之作,也是目前市场上少有的从原理到实战深度剖析JavaScript生态中经典工具库的技术图书。全书共有6篇,分别是基础篇、图形学篇、多媒体篇、跨端开发篇、游戏开发篇和跨界实践篇,书中不仅详细介绍了JavaScript语言在浏览器页面之外的不同应用场景,更从实用技巧、设计理念、原理源码等角度对精心挑选的30多个工具库进行了全方位的解析,希望读者在领略JavaScript代码之美的同时,也能拓宽技术视野。为了帮助读者更好地理解书中所讲述的内容,随书代码仓库里提供了大量可运行的源码,包括精简版的库重写和完整的代码示例。
前言
基础篇
第1章 Mock.js:如何与后端潇洒分手2
1.1 为什么你总是下不了班3
1.2 联调加速4
1.3 使用Mock.js4
1.3.1 Mock.js的语法规范5
1.3.2 Mock.js实战6
1.3.3 自定义扩展8
1.4 Mock.js的基本原理9
1.4.1 从模板到数据9
1.4.2 为Ajax请求提供Mock数据11
1.5 从Mock服务到API管理平台14
第2章 Node.js:连接16
2.1 大话Node.js16
2.1.1 Node.js是什么16
2.1.2 Node.js能做什么17
2.1.3 招黑的JavaScript全栈工程师19
2.2 业界用Node.js做什么19
2.2.1 前端工程化20
2.2.2 中间层20
2.2.3 SSR引擎21
2.2.4 协作连接22
2.3 小结22
第3章 ESLint:你的代码里藏着你的优雅24
3.1 代码风格与破窗理论25
3.2 用editorconfig配置IDE28
3.2.1 基本语法及属性29
3.2.2 配置实例29
3.3 使用ESLint规范编程风格30
3.3.1 配置文件和规则集30
3.3.2 ESLint插件开发实战32
3.3.3 初学者的修行32
3.4 新秀工具Prettier33
3.5 静态类型检查工具的实现原理34
3.5.1 编译语言和解释语言34
3.5.2 编译流程34
3.5.3 编译简单的JavaScript程序35
第4章 模块演义与Require.js39
4.1 模块化的需求推演40
4.1.1 script标签40
4.1.2 代码隔离41
4.1.3 依赖管理42
4.2 模块规范大杂烩43
4.2.1 概述43
4.2.2 几个重要的差异44
4.3 模块化规范的兼容与工具演进48
4.4 Require.js的使用方法50
4.5 Require.js的核心原理52
第5章 Lodash.js是工具,更是秘籍55
5.1 Lodash.js是什么55
5.1.1 概述56
5.1.2 代码的较量56
5.2 重点API的剖析59
5.3 Lodash.js的源码结构62
5.3.1 基本结构62
5.3.2 Lodash.js源码的学习方法63
第6章 静态类型检查:Flow.js和TypeScript64
6.1 静态类型检查65
6.1.1 静态类型检查的优势65
6.1.2 静态类型检查的劣势66
6.2 Flow.js,易上手的静态类型检查工具67
6.2.1 Flow.js中的类型标注67
6.2.2 Flow.js的优势68
6.3 TypeScript,另一种选择69
第7章 用函数描述世界:Ramda.js71
7.1 本能的思考方式71
7.2 开始编码72
7.2.1 传统编程的实现72
7.2.2 函数式编程的推演73
7.2.3 函数式编程的意义76
7.2.4 函数式编程的基本理论77
7.3 基于Ramda.js体验函数式编程79
7.3.1 使用Ramda.js80
7.3.2 函数化的流程控制81
7.4 选择82
第8章 Rxjs:前端世界的“老人与海”83
8.1 信息管道84
8.1.1 不同的“单一职责”84
8.1.2 分布式状态的可能性86
8.1.3 你的程序在做什么87
8.2 数据的生产88
8.2.1 数据源的抽象88
8.2.2 设计模式的应用90
8.3 Rxjs:一切皆是流的世界91
8.3.1 Rxjs的核心概念92
8.3.2 Rxjs应用实例94
8.3.3 新版“老人与海”100
8.4 以自己喜欢的方式去编程101
第9章 不可变数据的制造艺术:Immer.js和Immutable.js102
9.1 克隆103
9.1.1 浅克隆103
9.1.2 深克隆103
9.2 元编程与Immer.js104
9.2.1 元编程105
9.2.2 Immer.js的核心原理106
9.3 Immutable.js与共享结构112
9.3.1 Immutable.js简介113
9.3.2 Immutable.js的核心原理113
9.3.3 Immutable.js中的读写操作117
9.4 小结119
第10章 Day.js:算个日期能有多难121
10.1 日期和时间121
10.2 使用Day.js125
10.3 国际化应用开发中的时间处理127
图形学篇
第11章 所见即所得的流程图:jsplumb.js和viz.js130
11.1 方案构思130
11.2 开始使用jsplumb.js132
11.3 图布局引擎viz.js135
11.4 所见即所得137
第12章 easel.js:一个标签一个世界139
12.1 能玩一生的标签