图书介绍

Node.js+MongoDB+AngularJS Web开发【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Node.js+MongoDB+AngularJS Web开发
  • (美)德雷著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121261176
  • 出版时间:2015
  • 标注页数:560页
  • 文件大小:59MB
  • 文件页数:592页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Node.js+MongoDB+AngularJS Web开发PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 引言3

第1章 介绍Node.js-to-AngularJS套件3

1.1 了解基本的Web开发框架3

1.1.1 用户4

1.1.2 浏览器4

1.1.3 Web服务器6

1.1.4 后端服务6

1.2 了解Node.js-to-AngularJS套件组件7

1.2.1 Node.js7

1.2.2 MongoDB8

1.2.3 Express9

1.2.4 AngularJS9

1.3 小结10

1.4 下一章10

第2章 JavaScript基础11

2.1 定义变量11

2.2 了解JavaScript数据类型12

2.3 使用运算符13

2.3.1 算术运算符13

2.3.2 赋值运算符14

2.3.3 运用比较和条件运算符14

2.4 实现循环16

2.4.1 while循环17

2.4.2 do/while循环17

2.4.3 for循环17

2.4.4 for/in循环18

2.4.5 中断循环19

2.5 创建函数19

2.5.1 定义函数20

2.5.2 传递变量给函数20

2.5.3 从函数返回值20

2.5.4 使用匿名函数21

2.6 理解变量作用域22

2.7 使用JavaScript对象22

2.7.1 使用对象语法23

2.7.2 创建自定义对象23

2.7.3 使用原型对象模式24

2.8 处理字符串25

2.8.1 合并字符串26

2.8.2 在字符串中搜索子串26

2.8.3 在一个字符串中替换单词27

2.8.4 将字符串分割成数组27

2.9 使用数组27

2.9.1 合并数组28

2.9.2 遍历数组29

2.9.3 将数组转换为字符串29

2.9.4 检查数组是否包含某个条目29

2.9.5 在数组中添加条目和删除条目30

2.10 添加错误处理30

2.10.1 try/catch块30

2.10.2 抛出你自己的错误31

2.10.3 使用finally31

2.11 小结32

2.12 下一章32

第2部分 学习Node.js35

第3章 开始使用Node.js35

3.1 了解Node.js35

3.1.1 谁在使用Node.js35

3.1.2 Node.js的用途36

3.2 Node.js安装36

3.2.1 纵观Node.js安装位置36

3.2.2 验证Node.js可执行文件37

3.2.3 选择Node.js IDE37

3.3 使用Node.js包38

3.3.1 什么是Node封装模块38

3.3.2 了解Node包注册表38

3.3.3 使用Node包管理器38

3.3.4 搜索Node封装模块39

3.3.5 安装Node封装模块40

3.3.6 使用package.json41

3.4 创建Node.js应用程序43

3.4.1 创建Node.js模块封装43

3.4.2 将一个Node.js封装模块发布到NPM注册表45

3.4.3 在Node.js应用程序中使用Node.js封装模块46

3.5 将数据写入控制台47

3.6 小结49

3.7 下一章49

第4章 在Node.js中使用事件、监听器、定时器和回调51

4.1 了解Node.js事件模型51

4.1.1 比较事件回调和线程模型51

4.1.2 在Node.js中阻塞I/O52

4.1.3 会话示例54

4.2 将工作添加到事件队列54

4.2.1 实现定时器55

4.2.2 使用nextTick来调度工作58

4.2.3 实现事件发射器和监听器59

4.3 实现回调62

4.3.1 向回调函数传递额外的参数63

4.3.2 在回调中实现闭包64

4.3.3 链式回调65

4.4 小结66

4.5 下一章66

第5章 在Node.js中处理数据I/O67

5.1 处理JSON67

5.1.1 把JSON转换成JavaScript对象67

5.1.2 把JavaScript对象转换为JSON68

5.2 使用Buffer模块缓冲数据68

5.2.1 了解缓冲数据69

5.2.2 创建缓冲区69

5.2.3 写入缓冲区70

5.2.4 从缓冲区读取71

5.2.5 确定缓冲区长度72

5.2.6 复制缓冲区73

5.2.7 对缓冲区切片74

5.2.8 拼接缓冲区75

5.3 使用Stream模块来传送数据76

5.3.1 Readable流76

5.3.2 Writable流78

5.3.3 Duplex流81

5.3.4 Transform流82

5.3.5 把Readable流用管道输送到writable流84

5.4 用zlib压缩与解压缩数据85

5.4.1 压缩和解压缩缓冲区85

5.4.2 压缩/解压缩流87

5.5 小结88

5.6 下一章88

第6章 从Node.js访问文件系统89

6.1 同步和异步文件系统调用89

6.2 打开和关闭文件90

6.3 写入文件91

6.3.1 简单文件写入91

6.3.2 同步文件写入92

6.3.3 异步写入文件93

6.3.4 流式文件写入95

6.4 读取文件96

6.4.1 简单文件读取96

6.4.2 同步文件读取97

6.4.3 异步文件读取98

6.4.4 流式文件读取100

6.5 其他文件系统任务101

6.5.1 验证路径的存在性101

6.5.2 获取文件信息102

6.5.3 列出文件103

6.5.4 删除文件104

6.5.5 截断文件105

6.5.6 建立和删除目录105

6.5.7 重命名文件和目录106

6.5.8 监视文件更改入107

6.6 小结107

6.7 下一章107

第7章 在Node.js中实现HTTP服务109

7.1 处理URL109

7.1.1 了解URL对象110

7.1.2 解析URL组件111

7.2 处理查询字符串和表单参数111

7.3 了解请求、响应和服务器对象112

7.3.1 http.ClientRequest对象112

7.3.2 http.ServerResponse对象114

7.3.3 http.IncomingMessage对象115

7.3.4 HTTP Server对象116

7.4 在Node.js中实现HTTP客户端和服务器118

7.4.1 提供静态文件服务118

7.4.2 实现动态的GET服务器120

7.4.3 实现POST服务器122

7.4.4 与外部源交互124

7.5 实现HTTPS服务器和客户端127

7.5.1 创建HTTPS客户端127

7.5.2 创建HTTPS服务器129

7.6 小结129

7.7 下一章129

第8章 在Node.js中实现套接字服务131

8.1 了解网络套接字131

8.2 了解TCP服务器和Socket对象132

8.2.1 net.Socket对象132

8.2.2 net.Server对象135

8.3 实现TCP套接字服务器和客户端137

8.3.1 实现TCP套接字客户端138

8.3.2 实现TCP套接字服务器140

8.4 实现TLS服务器和客户端143

8.4.1 创建TLS套接字客户端144

8.4.2 创建TLS套接字服务器145

8.5 小结147

8.6 下一章147

第9章 在Node.js中使用多处理器扩展应用程序149

9.1 了解process模块149

9.1.1 了解进程I/O管道149

9.1.2 了解进程的信号150

9.1.3 使用process模块控制进程执行150

9.1.4 从process模块获取信息151

9.2 实现子进程153

9.2.1 了解Childprocess对象153

9.2.2 使用exec()在另一个进程上执行一个系统命令154

9.2.3 使用execFile()在另一个进程上执行一个可执行文件156

9.2.4 使用spawn()在另一个Nodejs实例中产生一个进程157

9.2.5 实现子派生159

9.3 实现进程集群161

9.3.1 使用cluster模块162

9.3.2 了解worker对象163

9.3.3 实现一个HTTP集群164

9.4 小结166

9.5 下一章166

第10章 使用其他Node.js模块167

10.1 使用os模块167

10.2 使用util模块169

10.2.1 格式化字符串169

10.2.2 检查对象类型170

10.2.3 同步写入输出流170

10.2.4 将JavaScript对象转换为字符串170

10.2.5 从其他对象继承功能171

10.2.6 使用dns模块172

10.3 小结174

10.4 下一章174

第3部分 学习MongoDB177

第11章 了解NoSQL和MongoDB177

11.1 为什么要采用NoSQL177

11.2 了解MongoDB178

11.2.1 理解集合178

11.2.2 了解文档178

11.3 MongoDB的数据类型179

11.4 规划你的数据模型180

11.4.1 使用文档引用来规范化数据181

11.4.2 使用嵌入式文档反规范化数据182

11.4.3 使用封顶集合183

11.4.4 了解原子写操作184

11.4.5 考虑文件增长184

11.4.6 识别索引、分片和复制的机会184

11.4.7 大集合与大量集合的对比185

11.4.8 决定数据生命周期185

11.4.9 考虑数据的可用性和性能185

11.5 小结186

11.6 下一章186

第12章 MongoDB入门187

12.1 构建MongoDB的环境187

12.1.1 MongoDB的安装187

12.1.2 启动MongoDB188

12.1.3 停止MongoDB189

12.1.4 从shell客户端访问MongoDB189

12.2 管理用户账户192

12.2.1 列出用户192

12.2.2 创建用户账户193

12.2.3 删除用户194

12.3 配置访问控制194

12.3.1 创建用户管理员账户195

12.3.2 打开身份验证196

12.3.3 创建数据库管理员账户196

12.4 管理数据库197

12.4.1 显示数据库清单197

12.4.2 切换当前数据库197

12.4.3 创建数据库197

12.4.4 删除数据库198

12.4.5 复制数据库198

12.5 管理集合199

12.5.1 显示数据库中的集合列表199

12.5.2 创建集合199

12.5.3 删除集合200

12.5.4 在集合中查找文档201

12.5.5 将文档添加到集合中201

12.5.6 从集合中删除文档202

12.5.7 更新集合中的文档202

12.6 小结204

12.7 下一章204

第13章 MongoDB和Node.js入门205

13.1 把MongoDB的驱动程序添加到Node.js205

13.2 从Node.js连接到MongoDB206

13.2.1 了解写入关注206

13.2.2 了解Server对象206

13.2.3 通过Client对象连接到MongoDB207

13.2.4 通过一个连接字符串连接到MongoDB210

13.3 了解用在MongoDB Node.js驱动程序中的对象211

13.3.1 了解Db对象212

13.3.2 了解Admin对象213

13.3.3 了解Collection对象214

13.3.4 了解Cursor对象215

13.4 访问和操作数据库216

13.4.1 列出数据库217

13.4.2 创建数据库217

13.4.3 删除数据库217

13.4.4 创建、列出和删除数据库实例218

13.4.5 获取MongoDB服务器的状态219

13.5 访问和操作集合220

13.5.1 列出集合220

13.5.2 创建集合221

13.5.3 删除集合221

13.5.4 创建、列出和删除集合的示例221

13.5.5 获取集合信息222

13.6 小结223

13.7 下一章223

第14章 从Node.js操作MongoDB文档225

14.1 了解数据库更改选项225

14.2 了解数据库更新运算符226

14.3 将文档添加到集合227

14.4 从集合获取文档229

14.5 更新集合中的文档230

14.6 原子地修改文档的集合232

14.7 保存集合中的文档234

14.8 使用upsert往集合中插入文档235

14.9 从集合中删除文档236

14.10 从集合中删除单个文档238

14.11 小结240

14.12 下一章240

第15章 从Node.js访问MongoDB的文档241

15.1 介绍数据集241

15.2 了解query对象242

15.3 了解查询options对象243

15.4 查找特定文档集合244

15.5 清点文档数量247

15.6 对结果集进行限制249

15.6.1 按大小限制结果249

15.6.2 限制对象返回的字段250

15.6.3 对结果进行分页252

15.7 对结果集进行排序253

15.8 查找不同的字段值255

15.9 对结果进行分组256

15.10 通过聚合结果来应用MapReduce259

15.10.1 了解aggregate()方法259

15.10.2 使用聚合框架运算符260

15.10.3 实现聚合表达式运算符261

15.10.4 聚合的例子262

15.11 小结263

15.12 下一章264

第16章 利用Mongoose来使用结构化模式与验证265

16.1 了解Mongoose265

16.2 利用Mongoose连接到MongoDB数据库266

16.3 定义模式267

16.3.1 了解路径268

16.3.2 创建一个模式定义268

16.3.3 把索引添加到一个模式269

16.3.4 实现字段的唯一性269

16.3.5 强制字段的必需性270

16.3.6 添加Schema对象的方法270

16.3.7 在words数据库上实现一个模式270

16.4 编译模型271

16.5 了解Query对象272

16.5.1 设置查询数据库操作273

16.5.2 设置查询数据库操作选项274

16.5.3 设置查询运算符275

16.6 了解Document对象276

16.7 利用Mongoose查找文档278

16.8 利用Mongoose添加文档280

16.9 利用Mongoose更新文档281

16.9.1 保存文档更改282

16.9.2 更新单个文档283

16.9.3 更新多个文档284

16.10 利用Mongoose删除文档286

16.10.1 删除单个文档286

16.10.2 删除多个文档287

16.11 利用Mongoose聚合文档288

16.12 使用验证框架291

16.13 实现中间件函数293

16.14 小结295

16.15 下一章295

第17章 高级MongoDB概念297

17.1 添加索引297

17.2 使用封顶集合299

17.3 应用复制300

17.3.1 复制策略302

17.3.2 部署一个副本集302

17.4 实施分片303

17.4.1 分片服务器类型304

17.4.2 选择一个分片键305

17.4.3 选择一种分区方法306

17.4.4 部署一个分片的MongoDB集群307

17.5 实现一个GridFS Store310

17.5.1 在Node.js实现Grid对象311

17.5.2 在Node.js实现GridStore对象313

17.6 修复MongoDB数据库315

17.7 备份MongoDB316

17.8 小结317

17.9 下一章317

第4部分 使用Express使生活更轻松321

第18章 在Node.js中实现Express321

18.1 Express入门321

18.1.1 配置Express设置321

18.1.2 启动Express服务器322

18.2 配置路由323

18.2.1 实现路由323

18.2.2 在路由中应用参数324

18.3 使用Request对象328

18.4 使用Response对象330

18.4.1 设置标头330

18.4.2 设置状态331

18.4.3 发送响应331

18.4.4 发送JSON响应333

18.4.5 发送文件335

18.4.6 发送下载响应336

18.4.7 重定向响应336

18.5 实现一个模板引擎337

18.5.1 定义一个模板引擎338

18.5.2 加入本地对象338

18.5.3 创建模板339

18.5.4 在响应中呈现模板340

18.6 小结342

18.7 下一章342

第19章 实现Express中间件343

19.1 了解中间件343

19.1.1 在全局范围内把中间件分配给某个路径344

19.1.2 把中间件分配到单个路由345

19.1.3 添加多个中间件函数345

19.2 使用query中间件345

19.3 提供静态文件服务346

19.4 处理POST正文数据348

19.5 发送和接收cookie349

19.6 实现会话350

19.7 应用基本的HTTP身份验证352

19.8 实现会话身份验证354

19.9 创建自定义中间件356

19.10 小结357

19.11 下一章357

第5部分 学习AngularJS361

第20章 AngularJS入门361

20.1 为什么选择AngularJS361

20.2 了解AngularJS362

20.2.1 模块362

20.2.2 作用域和数据模型363

20.2.3 具有模板和指令的视图363

20.2.4 表达式363

20.2.5 控制器363

20.2.6 数据绑定364

20.2.7 服务364

20.2.8 依赖注入364

20.2.9 职责分离364

20.3 AngularJS生命周期概述365

20.3.1 引导阶段365

20.3.2 编译阶段365

20.3.3 运行时数据绑定阶段366

20.4 将AngularJS与现有的JavaScript和jQuery整合366

20.5 将AngularJS添加到Node.js的环境367

20.6 在HTML文档中引导AngularJS367

20.7 使用全局API368

20.8 创建基本的AngularJS应用程序369

20.8.1 加载AngularJS库和你的主模块370

20.8.2 定义AngularJS应用程序根元素370

20.8.3 将控制器添加到模板370

20.8.4 实现作用域模型371

20.9 小结372

20.10 下一章372

第21章 了解AngularJS模块和依赖注入373

21.1 模块和依赖注入概述373

21.1.1 了解模块373

21.1.2 依赖注入374

21.2 定义AngularJS模块374

21.2.1 创建AngularJS Module对象374

21.2.2 使用配置块375

21.2.3 使用运行块375

21.2.4 把提供器添加到AngularJS模块376

21.3 实现依赖注入377

21.4 小结379

21.5 下一章380

第22章 把作用域实现为数据模型381

22.1 了解作用域381

22.1.1 根作用域和应用程序之间的关系381

22.1.2 作用域和控制器之间的关系382

22.1.3 作用域和模板之间的关系383

22.1.4 作用域和后端服务器数据之间的关系385

22.1.5 作用域的生命周期385

22.2 实现作用域层次结构387

22.3 发出和广播活动389

22.4 小结392

22.5 下一章393

第23章 使用AngularJS模板来创建视图395

23.1 了解模板395

23.2 使用表达式396

23.3 使用过滤器399

23.3.1 使用内置过滤器400

23.3.2 使用过滤器来实现排序和过滤402

23.4 创建自定义过滤器405

23.5 小结406

23.6 下一章407

第24章 在AngularJS视图中实现指令409

24.1 了解指令409

24.2 使用内置指令409

24.2.1 支持AngularJS功能的指令410

24.2.2 扩展表单元素的指令411

24.2.3 把模型绑定到页面元素的指令414

24.2.4 把页面事件绑定到控制器的指令418

24.3 创建你自己的指令来扩展HTML420

24.3.1 定义指令视图模板421

24.3.2 限制指令行为422

24.3.3 更换模板元素423

24.3.4 转置外部作用域423

24.3.5 配置指令的作用域423

24.3.6 操纵DOM的链接功能425

24.3.7 添加一个控制器到指令426

24.3.8 创建自定义指令426

24.4 小结428

24.5 下一章429

第25章 在Web应用程序中实现AngularJS服务431

25.1 了解AngularJS服务431

25.2 使用内置的服务431

25.2.1 使用$http服务发送HTTP的GET和PUT请求432

25.2.2 使用$cacheFactory服务436

25.2.3 使用$window服务实现浏览器警报437

25.2.4 使用$cookieStore服务与浏览器cookie交互437

25.2.5 使用$interval和$timeout服务实现定时器439

25.2.6 使用$animate服务440

25.3 创建自定义服务445

25.3.1 创建value服务445

25.3.2 创建constant服务445

25.3.3 创建factory服务445

25.3.4 创建service服务446

25.3.5 把服务集成在一个模块中446

25.4 小结447

25.5 下一章447

第6部分 建立实用的Web应用程序组件451

第26章 将用户账户添加到你的网站451

26.1 用到的库451

26.2 项目的目录结构451

26.3 定义用户模型452

26.4 创建服务器453

26.5 实现路由454

26.6 实现用户控制器路由456

26.6.1 实现用户注册路由456

26.6.2 实现用户登录路由457

26.6.3 实现获得用户配置文件的路由457

26.6.4 实现更新用户路由458

26.6.5 实现删除用户路由458

26.6.6 完整的用户控制器代码459

26.7 实现用户和身份验证视图461

26.7.1 实现signup视图461

26.7.2 实现index视图462

26.7.3 实现login视图463

26.7.4 实现user视图464

26.7.5 添加CSS代码到样式视图466

26.8 实现AngularJS模块和控制器466

26.9 使用社交媒体账户作为身份验证来源467

26.9.1 添加Passport467

26.9.2 添加身份验证策略467

26.9.3 实现应用程序中间件468

26.9.4 添加已验证身份的用户序列化和反序列化469

26.9.5 实现路由以使用身份验证469

26.9.6 使用谷歌验证身份470

26.10 小结473

26.11 下一章473

第27章 添加评论主题页475

27.1 用到的库475

27.2 项目的目录结构475

27.3 定义评论、回复、照片和页面模型477

27.3.1 定义Page模型477

27.3.2 定义Photo模型478

27.3.3 定义CommentThread模型478

27.4 创建评论服务器479

27.5 实现路由,以支持查看和添加评论480

27.6 实现基于模型的控制器路由481

27.6.1 实现Page模型控制器481

27.6.2 实现Photo模型控制器482

27.6.3 实现CommentThread模型控制器482

27.7 实现照片和评论视图486

27.7.1 实现照片视图486

27.7.2 实现评论主题视图489

27.7.3 实现评论视图491

27.7.4 添加CSS来设置视图的样式492

27.8 实现AngularJS模块和控制器来支持评论视图493

27.8.1 创建一个评论服务493

27.8.2 实现照片控制器494

27.8.3 实现页面AngularJS控制器495

27.8.4 完整的AngularJS应用程序496

27.9 初始化应用程序499

27.10 小结500

27.11 下一章500

第28章 创建你自己的购物车501

28.1 项目简介501

28.2 用到的库502

28.3 项目的目录结构502

28.4 定义顾客、产品和订单模式504

28.4.1 定义地址模式504

28.4.2 定义账单模式505

28.4.3 定义产品模式505

28.4.4 定义数量模式506

28.4.5 定义订单模式506

28.4.6 定义顾客模式506

28.5 创建购物车服务器508

28.6 实现路由,以支持产品、购物车和订单请求508

28.7 实现基于模型的控制器路由509

28.7.1 实现产品模型控制器509

28.7.2 实现订单模型控制器510

28.7.3 实现顾客模型控制器511

28.8 实现购物车和结账视图513

28.8.1 实现购物视图513

28.8.2 实现产品视图515

28.8.3 实现产品页面视图516

28.8.4 实现购物车视图516

28.8.5 实现发货视图518

28.8.6 实现账单视图519

28.8.7 实现复核视图521

28.8.8 实现订单视图523

28.8.9 添加CSS来设置视图的样式524

28.9 实现AngularJS模块和控制器,以支持购物车视图526

28.9.1 初始化购物作用域526

28.9.2 实现辅助函数527

28.9.3 将物品添加到购物车527

28.9.4 从购物车删除物品528

28.9.5 结账529

28.9.6 设置发货信息529

28.9.7 验证账单530

28.9.8 执行购买530

28.9.9 完整的控制器531

28.10 初始化应用程序534

28.11 小结536

28.12 下一章536

第29章 构建交互式的Web 2.0应用程序组件537

29.1 项目简介537

29.2 用到的库538

29.3 项目的目录结构538

29.4 定义项目模型540

29.5 创建应用程序服务器540

29.6 实现支持视图的路由541

29.7 实现选项卡视图542

29.7.1 创建AngularJS选项卡视图模板542

29.7.2 定义窗格模板542

29.7.3 定义卡片模板542

29.7.4 实现选项卡视图543

29.7.5 实现AngularJS自定义指令544

29.7.6 设置卡片视图的样式545

29.8 实现天气服务视图546

29.8.1 创建后端天气服务546

29.8.2 定义天气AngularJS控制器548

29.8.3 定义天气AngularJS视图549

29.8.4 设置天气视图的样式549

29.9 实现可拖动的元素551

29.9.1 定义可拖动的自定义AngularJS指令551

29.9.2 在AngularJS视图中实现可拖动的指令552

29.9.3 设置可拖动视图的样式552

29.10 实现动态数据访问553

29.10.1 创建/words路由的Express路由控制器553

29.10.2 定义表格AngularJS控制器554

29.10.3 实现表格AngularJS视图556

29.10.4 设置表格视图的样式557

29.11 初始化应用程序558

29.12 小结560

热门推荐