《JavaScript开发框架权威指南》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)TimAmbler,NicholasCloud著;一心一译前端小组译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115447197
  • 页数:386 页
图书介绍:本书专注于前端开发主题,重在介绍JavaScript的库和框架。通过一系列代码示例和详细讲解,帮助读者更好地掌握JavaScript中的工具和库。本书整合了作者多年的前端开发经验,读者将能够从中洞察到很多一般技术文档所不具备的重要内容,并能够快速驾驭JavaScript的框架和库,成为一名前端开发的专业人士。

第1章 Bower 1

1.1 准备工作 1

1.2 配置Bower 2

1.3 清单文件(Manifest) 2

1.4 查找、添加和删除Bower包 3

1.4.1 查找包 3

1.4.2 添加包 3

1.4.3 删除包 5

1.5 语义化版本控制 5

1.6 维护依赖链 6

1.7 创建Bower包 7

1.7.1 选择有效的包名 7

1.7.2 在Git标签中使用语义化版本号(Semver) 7

1.7.3 将软件包发布到注册中心 7

1.8 小结 8

第2章 Grunt 9

2.1 安装Grunt 10

2.2 Grunt是如何工作的 10

2.2.1 Gruntfile.js 10

2.2.2 任务(Tasks) 11

2.2.3 插件(Plugins) 11

2.2.4 配置 12

2.3 将Grunt添加到项目中 12

2.4 处理任务 14

2.4.1 配置管理 14

2.4.2 任务描述 15

2.4.3 异步任务 15

2.4.4 任务依赖 16

2.4.5 多任务 16

2.4.6 多任务选项 17

2.4.7 模板配置 18

2.4.8 命令行选项 19

2.4.9 提供反馈 19

2.4.10 错误处理 20

2.5 操作文件系统 20

2.5.1 源-目标映射 20

2.5.2 监视文件变化 22

2.6 创建Grunt插件 25

2.6.1 开始 25

2.6.2 创建任务 26

2.6.3 将任务发布到npm 28

2.7 小结 28

2.8 相关资源 29

第3章 Yeoman 30

3.1 安装Yeoman 30

3.2 创建第一个项目 30

3.3 创建你的第一个脚手架 34

3.3.1 Yeoman脚手架是一个Node模块 34

3.3.2 子脚手架 35

3.3.3 定义二级命令 39

3.3.4 可组合性 41

3.4 小结 41

3.5 相关资源 42

第4章 PM2 43

4.1 安装 43

4.2 与进程一起工作 43

4.2.1 从错误中恢复 46

4.2.2 监控文件变化 47

4.3 监控日志 48

4.4 监控资源占用 49

4.4.1 监控本地资源 49

4.4.2 监控远程资源 49

4.5 进程的高级管理 52

4.6 多核处理器的负载均衡 55

4.7 小结 59

4.8 相关资源 59

第5章 RequireJS 60

5.1 运行示例 61

5.2 使用RequireJS 61

5.2.1 安装 62

5.2.2 配置 62

5.2.3 应用模块和依赖 64

5.2.4 路径和别名 66

5.2.5 Shims 69

5.2.6 加载器插件 73

5.2.7 缓存清除 78

5.3 RequireJS优化 80

5.3.1 配置r.js 80

5.3.2 运行r.js命令 81

5.4 小结 82

第6章 Browserify 84

6.1 AMD API与CommonJS对比 84

6.2 安装Browserify 85

6.3 创建你的第一个Bundle 85

6.4 可视化依赖树 87

6.5 发生变化时重新打包文件 88

6.5.1 通过Grunt监听文件变化 88

6.5.2 通过Watchify监听文件变化 88

6.6 使用多个打包文件 90

6.7 Node方式 92

6.7.1 模块解析方案和NODE_PATH环境变量 93

6.7.2 依赖管理 95

6.8 定义浏览器指定模块 96

6.9 用Transforms扩展Browserify 97

6.9.1 brfs 97

6.9.2 folderify 98

6.9.3 bulkify 98

6.9.4 Browserify-Shim 99

6.10 小结 100

6.11 相关资源 100

第7章 Knockout 101

7.1 View、Model与View Model 102

7.1.1 菜谱列表 103

7.1.2 菜谱详情 106

7.2 将视图绑定到DOM 108

7.3 视图模型与表单 109

7.3.1 切换到“编辑”模式 109

7.3.2 更改菜谱的标题 112

7.3.3 更改菜谱的份量与烹饪时间 112

7.3.4 添加与删除食材 114

7.3.5 操作步骤 118

7.3.6 引文 119

7.4 自定义组件 120

7.4.1 input-list组件的视图模型 120

7.4.2 input-list模板 121

7.4.3 注册input-list组件 123

7.5 Subscribable:简单的消息传递 124

7.6 小结 126

7.7 相关资源 127

第8章 AngularJS 128

8.1 声明式Web编程 128

8.1.1 命令式编程 128

8.1.2 声明式编程 129

8.2 模块:构建松散耦合程序的基石 130

8.3 指令(Directive):DOM的抽象层 132

8.4 加入逻辑 134

8.4.1 作用域与原型继承 134

8.4.2 用控制器操作作用域 135

8.5 通过服务与依赖注入实现松散耦合 138

8.5.1 依赖注入(Dependency Injection) 138

8.5.2 简单的控制器与复杂的服务 139

8.6 创建路由 142

8.6.1 路由参数 143

8.6.2 路由的Resolve 144

8.7 创建复杂表单 145

8.7.1 表单验证 146

8.7.2 条件逻辑 150

8.7.3 列表 151

8.8 小结 153

8.9 相关资源 154

第9章 Kraken 155

9.1 环境感知的配置 156

9.2 注册基于配置的中间件 162

9.3 结构化路由注册 165

9.3.1 索引配置 165

9.3.2 目录配置 166

9.3.3 路由配置 167

9.4 Dust模板 169

9.4.1 上下文及引用 169

9.4.2 片段 171

9.4.3 迭代 172

9.4.4 条件句 173

9.4.5 局部模板 173

9.4.6 块 174

9.4.7 过滤器 175

9.4.8 上下文辅助器 176

9.4.9 Dust辅助器 182

9.4.10 使用Kraken 186

9.5 小结 200

9.6 相关资源 200

第10章 Mach 202

10.1 章节例子 202

10.2 安装 203

10.3 Mach Web服务 203

10.3.1 HTTP路由 205

10.3.2 建立连接 210

10.3.3 公共的中间件 212

10.3.4 路由重写 226

10.3.5 主机映射 228

10.3.6 自定义中间件 232

10.4 Mach HTTP客户端 234

10.5 Mach HTTP代理 236

10.6 小结 239

第11章 Mongoose 240

11.1 MongoDB的基本概念 240

11.2 Mongoose的一个简单示例 243

11.2.1 针对JSON数据创建一个Mongoose模式 243

11.2.2 使用Mongoose导入数据 244

11.2.3 通过Mongoose查询数据 247

11.3 使用模式(Schemas) 248

11.3.1 数据类型 248

11.3.2 嵌套模式 250

11.3.3 默认属性值 250

11.3.4 必要属性 251

11.3.5 第二索引 251

11.3.6 模式校验 252

11.3.7 模式引用 255

11.3.8 模式中间件 258

11.4 使用模型和文档 259

11.4.1 文档实例方法 262

11.4.2 文档虚拟属性 263

11.4.3 静态模型方法 265

11.5 使用查询 266

11.5.1 Model.find() 266

11.5.2 使用查询运算符查找文档 272

11.6 小结 278

第12章 Knex和Bookshelf 279

12.1 Knex 279

12.1.1 安装命令行工具 280

12.1.2 把Knex添加到你的项目 280

12.1.3 配置Knex 280

12.1.4 SQL查询构建器 281

12.1.5 迁移脚本 287

12.1.6 种子脚本 291

12.2 Bookshelf 291

12.2.1 什么是对象映射关系 292

12.2.2 创建Bookshelf模型 292

12.2.3 关系 299

12.3 小结 306

12.4 相关资源 307

第13章 Faye 308

13.1 HTTP、Bayeux和WebSocket 308

13.1.1 WebSocket 310

13.1.2 Bayeux协议 310

13.2 开始使用Faye 312

13.3 发布/订阅消息系统 313

13.4 小结 318

13.5 相关资源 318

第14章 Q 319

14.1 时间就是一切 319

14.2 Promise对比回调函数 322

14.3 Q的Promise 324

14.3.1 Deferreds和Promises 324

14.3.2 值和错误 328

14.3.3 报告进度 333

14.3.4 终点 336

14.4 控制流 338

14.4.1 顺序流 338

14.4.2 平行流 339

14.4.3 管道流 341

14.5 小结 342

14.6 相关资源 343

第15章 Async.js 344

15.1 顺序流 345

15.2 并行流 346

15.3 管线流 348

15.4 循环流 352

15.4.1 为真则循环执行 352

15.4.2 为假则循环执行 354

15.4.3 循环重试 355

15.4.4 无限循环 357

15.5 批处理流 358

15.5.1 异步队列 358

15.5.2 异步负载 359

15.6 小结 361

第16章 Underscore和Lodash 362

16.1 安装及用法 363

16.2 聚合和索引 364

16.2.1 countBy() 364

16.2.2 groupBy() 365

16.2.3 indexBy() 366

16.3 选择 367

16.3.1 从集合中选择数据 367

16.3.2 从对象中选择数据 369

16.4 链式调用 373

16.5 函数计时 375

16.5.1 defer() 375

16.5.2 debounce() 377

16.5.3 throttle() 378

16.6 模板 380

16.6.1 模板内的循环及其他JavaScript代码 381

16.6.2 书写不加鳄鱼标记的代码 382

16.6.3 从模板中获取数据对象 383

16.6.4 默认模板数据 384

16.7 小结 385

16.8 相关资源 386