当前位置:首页 > 工业技术
Node  js+MongoDB+Angular Web开发  MEAN全栈权威指南
Node  js+MongoDB+Angular Web开发  MEAN全栈权威指南

Node js+MongoDB+Angular Web开发 MEAN全栈权威指南PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)布拉德·德雷,(美)布兰登·德雷,(美)凯勒·德雷著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121350962
  • 页数:530 页
图书介绍:Node.js是领先的服务器端编程环境,MongoDB是最受欢迎的NoSQL数据库,而Angular是基于MVC的前端开发的领先框架。它们一起提供了一个易于实现的完全集成的Web开发栈,可以让Web程序员创建从服务器到客户端完全以JavaScript构建的高性能站点和应用程序。针对Angular 2,Angular 4和后续版本进行了更新,这个新版本的Node.js,MongoDB和Angular Web Development将展示如何将这三种技术整合到完整的工作解决方案中。它首先介绍每种技术的简明明了的教程,然后快速地开始构建常见的Web应用程序。
《Node js+MongoDB+Angular Web开发 MEAN全栈权威指南》目录

引言 1

第1部分 入门 9

第1章 介绍Node.js-to-Angular套件 9

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

1.1.1 用户 10

1.1.2 浏览器 10

1.1.3 Web服务器 12

1.1.4 后端服务 12

1.2 了解Node.js-to-Angular套件组件 13

1.2.1 Node.js 13

1.2.2 MongoDB 14

1.2.3 Express 15

1.2.4 Angular 15

1.3 小结 16

1.4 下一章 16

第2章 JavaScript基础 17

2.1 定义变量 17

2.2 了解JavaScript数据类型 18

2.3 使用运算符 19

2.3.1 算术运算符 19

2.3.2 赋值运算符 20

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

2.4 实现循环 22

2.4.1 whi1e循环 23

2.4.2 do/while循环 23

2.4.3 for循环 23

2.4.4 for/in循环 24

2.4.5 中断循环 25

2.5 创建函数 26

2.5.1 定义函数 26

2.5.2 将变量传递给函数 26

2.5.3 从函数返回值 27

2.5.4 使用匿名函数 27

2.6 解变量作用域 28

2.7 使用JavaScript对象 28

2.7.1 使用对象语法 29

2.7.2 创建自定义对象 30

2.7.3 使用原型对象模式 30

2.8 处理字符串 31

2.8.1 合并字符串 32

2.8.2 在字符串中搜索子串 33

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

2.8.4 将字符串分割成数组 33

2.9 使用数组 33

2.9.1 合并数组 35

2.9.2 遍历数组 35

2.9.3 将数组转换为字符串 35

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

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

2.10 添加错误处理 36

2.10.1 try/catch块 37

2.10.2 抛出你自己的错误 37

2.10.3 使用finally 38

2.11 小结 38

2.12 下一章 38

第2部分 学习Node.js 41

第3章 开始使用Node.js 41

3.1 了解Node.js 41

3.1.1 谁在使用Node.js 41

3.1.2 Node.js的用途 42

3.1.3 Node.js包含的内容 42

3.2 Node.js安装 44

3.2.1 纵观Node.js安装位置 44

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

3.2.3 选择Node.js IDE 45

3.3 使用Node包 45

3.3.1 什么是Node封装模块 45

3.3.2 了解Node包注册表 46

3.3.3 使用Node包管理器 46

3.3.4 搜索Node封装模块 47

3.3.5 安装Node封装模块 48

3.3.6 使用packaje.json 49

3.4 创建Node.js应用程序 50

3.4.1 创建Node.js模块封装 51

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

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

3.5 将数据写入控制台 55

3.6 小结 56

3.7 下一章 56

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

4.1 了解Node.js事件模型 57

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

4.1.2 在Node.js中阻塞I/O 58

4.1.3 会话示例 60

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

4.2.1 实现定时器 61

4.2.2 使用nextTick来调度工作 64

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

4.3 实现回调 68

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

4.3.2 在回调中实现闭包 70

4.3.3 链式回调 71

4.4 小结 72

4.5 下一章 72

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

5.1 处理JSON 73

5.1.1 把JSON转换成JavaScript对象 73

5.1.2 把JavaScript对象转换为JSON 74

5.2 使用Buffer模块缓冲数据 74

5.2.1 了解缓冲数据 75

5.2.2 创建缓冲区 75

5.2.3 写入缓冲区 76

5.2.4 从缓冲区读取 77

5.2.5 确定缓冲区的长度 78

5.2.6 复制缓冲区 78

5.2.7 对缓冲区切片 80

5.2.8 拼接缓冲区 80

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

5.3.1 Readable流 82

5.3.2 Writable流 84

5.3.3 Duplex流 86

5.3.4 Transform流 88

5.3.5 把Readable流用管道输送到Writable流 89

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

5.4.1 压缩和解压缩缓冲区 91

5.4.2 压缩/解压缩流 93

5.5 小结 93

5.6 下一章 93

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

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

6.2 打开和关闭文件 96

6.3 写入文件 97

6.3.1 简单文件写入 97

6.3.2 同步文件写入 98

6.3.3 异步写入文件 99

6.3.4 流式文件写入 101

6.4 读取文件 102

6.4.1 简单文件读取 102

6.4.2 同步文件读取 103

6.4.3 异步文件读取 104

6.4.4 流式文件读取 105

6.5 其他文件系统任务 106

6.5.1 验证路径的存在性 106

6.5.2 获取文件信息 107

6.5.3 列出文件 108

6.5.4 删除文件 110

6.5.5 截断文件 110

6.5.6 建立和删除目录 111

6.5.7 重命名文件和目录 112

6.5.8 监视文件更改 112

6.6 小结 113

6.7 下一章 113

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

7.1 处理URL 115

7.1.1 了解URL对象 116

7.1.2 解析URL组件 117

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

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

7.3.1 http.ClientRequest对象 118

7.3.2 http.ServerResponse对象 121

7.3.3 http.IncomingMessage对象 122

7.3.4 http.Server对象 122

7.4 在Node.js中实现HITP客户端和服务器 124

7.4.1 提供静态文件服务 124

7.4.2 实现动态的GET服务器 126

7.4.3 实现POST服务器 128

7.4.4 与外部源交互 131

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

7.5.1 创建HTTPS客户端 134

7.5.2 创建HTTPS服务器 135

7.6 小结 136

7.7 下一章 136

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

8.1 了解网络套接字 137

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

8.2.1 net.Socket对象 138

8.2.2 net.Server对象 141

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

8.3.1 实现TCP套接字客户端 144

8.3.2 实现TCP套接字服务器 146

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

8.4.1 创建TLS套接字客户端 150

8.4.2 创建TLS套接字服务器 151

8.5 小结 153

8.6 下一章 153

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

9.1 了解process模块 155

9.1.1 了解进程I/O管道 155

9.1.2 了解进程的信号 156

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

9.1.4 从process模块获取信息 157

9.2 实现子进程 159

9.2.1 了解ChildProcess对象 159

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

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

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

9.2.5 实现子派生 165

9.3 实现进程集群 167

9.3.1 使用cluster模块 168

9.3.2 了解Worker对象 169

9.3.3 实现一个HTTP集群 170

9.4 小结 172

9.5 下一章 172

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

10.1 使用os模块 173

10.2 使用util模块 175

10.2.1 格式化字符串 175

10.2.2 检查对象类型 176

10.2.3 将JavaScript对象转换为字符串 176

10.2.4 从其他对象继承功能 177

10.3 使用dns模块 178

10.4 使用crypto模块 180

10.5 其他Node模块和对象 181

10.6 小结 182

10.7 下一章 182

第3部分 学习MongoDB 185

第11章 了解NoSQL和MongoDB 185

11.1 为什么要采用NoSQL 185

11.2 了解MongoDB 186

11.2.1 理解集合 186

11.2.2 了解文档 186

11.3 MongoDB的数据类型 187

11.4 规划你的数据模型 188

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

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

11.4.3 使用封顶集合 191

11.4.4 了解原子写操作 192

11.4.5 考虑文件增长 192

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

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

11.4.8 决定数据生命周期 193

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

11.5 小结 194

11.6 下一章 194

第12章 MongoDB入门 195

12.1 构建MongoDB的环境 195

12.1.1 MongoDB的安装 195

12.1.2 启动MongoDB 196

12.1.3 停止MongoDB 197

12.1.4 从shell客户端访问MongoDB 197

12.2 管理用户账户 200

12.2.1 列出用户 200

12.2.2 创建用户账户 201

12.2.3 删除用户 202

12.3 配置访问控制 203

12.3.1 创建用户管理员账户 203

12.3.2 打开身份验证 204

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

12.4 管理数据库 205

12.4.1 显示数据库清单 205

12.4.2 切换当前数据库 205

12.4.3 创建数据库 206

12.4.4 删除数据库 206

12.4.5 复制数据库 207

12.5 管理集合 207

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

12.5.2 创建集合 208

12.5.3 删除集合 208

12.5.4 在集合中查找文档 209

12.5.5 将文档添加到集合中 210

12.5.6 从集合中删除文档 210

12.5.7 更新集合中的文档 211

12.6 小结 212

12.7 下一章 212

第13章 MongoDB和Node.js入门 213

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

13.2 从Node.js连接到MongoDB 213

13.2.1 了解写入关注 214

13.2.2 通过MongoClient对象从Node.js连接到MongoDB 214

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

13.3.1 了解Db对象 218

13.3.2 了解Admin对象 220

13.3.3 了解Collection对象 220

13.3.4 了解Cursor对象 222

13.4 访问和操作数据库 223

13.4.1 列出数据库 223

13.4.2 创建数据库 223

13.4.3 删除数据库 224

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

13.4.5 获取MongoDB服务器的状态 226

13.5 访问和操作集合 227

13.5.1 列出集合 227

13.5.2 创建集合 227

13.5.3 删除集合 227

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

13.5.5 获取集合信息 229

13.6 小结 230

13.7 下一章 230

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

14.1 了解数据库更改选项 231

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

14.3 将文档添加到集合 233

14.4 从集合获取文档 235

14.5 更新集合中的文档 237

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

14.7 保存集合中的文档 241

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

14.9 从集合中删除文档 244

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

14.11 小结 248

14.12 下一章 248

第15章 从Node.js访问MongoDB 249

15.1 介绍数据集 249

15.2 了解query对象 250

15.3 了解查询options对象 251

15.4 查找特定文档集合 252

15.5 清点文档数量 255

15.6 对结果集进行限制 257

15.6.1 按大小限制结果 257

15.6.2 限制对象返回的字段 258

15.6.3 对结果进行分页 260

15.7 对结果集进行排序 262

15.8 查找不同的字段值 263

15.9 对结果进行分组 265

15.10 通过聚合结果来应用MapReduce 269

15.10.1 了解aggregate()方法 269

15.10.2 使用聚合框架运算符 270

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

15.10.4 聚合的例子 273

15.11 小结 274

15.12 下一章 274

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

16.1 了解Mongoose 275

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

16.3 定义模式 278

16.3.1 了解路径 278

16.3.2 创建一个模式定义 278

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

16.3.4 实现字段的唯一性 280

16.3.5 强制字段的必需性 280

16.3.6 往Schema模型添加方法 280

16.3.7 在words数据库上实现模式 281

16.4 编译模型 282

16.5 了解Query对象 282

16.5.1 设置查询数据库操作 283

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

16.5.3 设置查询运算符 285

16.6 了解Document对象 287

16.7 利用Mongoose查找文档 288

16.8 利用Mongoose添加文档 290

16.9 利用Mongoose更新文档 292

16.9.1 保存文档更改 292

16.9.2 更新单个文档 293

16.9.3 更新多个文档 295

16.10 利用Mongoose删除文档 296

16.10.1 删除单个文档 296

16.10.2 删除多个文档 298

16.11 利用Mongoose聚合文档 299

16.12 使用验证框架 302

16.13 实现中间件函数 304

16.14 小结 306

16.15 下一章 307

第17章 高级MongoDB概念 309

17.1 添加索引 309

17.2 使用封顶集合 311

17.3 应用复制 312

17.3.1 复制策略 314

17.3.2 部署一个副本集 314

17.4 实施分片 315

17.4.1 分片服务器类型 316

17.4.2 选择一个分片键 317

17.4.3 选择一种分区方法 318

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

17.5 修复MongoDB数据库 322

17.6 备份MongoDB 323

17.7 小结 324

17.8 下一章 324

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

第18章 在Node.js中实现Express 327

18.1 Express入门 327

18.1.1 配置Express设置 327

18.1.2 启动Express服务器 328

18.2 配置路由 329

18.2.1 实现路由 329

18.2.2 在路由中应用参数 330

18.3 使用Request对象 334

18.4 使用Response对象 336

18.4.1 设置标头 336

18.4.2 设置状态 337

18.4.3 发送响应 337

18.4.4 发送JSON响应 339

18.4.5 发送文件 341

18.4.6 发送下载响应 342

18.4.7 重定向响应 343

18.5 实现一个模板引擎 343

18.5.1 定义引擎 344

18.5.2 加入本地对象 345

18.5.3 创建模板 345

18.5.4 在响应中呈现模板 347

18.6 小结 348

18.7 下一章 348

第19章 实现Express中间件 349

19.1 了解中间件 349

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

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

19.1.3 添加多个中间件函数 351

19.2 使用query中间件 351

19.3 提供静态文件服务 351

19.4 处理POST正文数据 353

19.5 发送和接收cookie 354

19.6 实现会话 356

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

19.8 实现会话身份验证 359

19.9 创建自定义中间件 362

19.10 小结 363

19.11 下一章 364

第5部分 学习Angular 367

第20章 TypeScript入门 367

20.1 学习不同的类型 367

20.2 了解接口 369

20.3 实现类 370

20.4 实现模块 371

20.5 理解函数 372

20.6 小结 373

20.7 下一章 373

第21章 Angular入门 375

21.1 为什么选择Angular 375

21.2 了解Angular 375

21.2.1 模块 376

21.2.2 指令 376

21.2.3 数据绑定 376

21.2.4 依赖注入 376

21.2.5 服务 377

21.3 职责分离 377

21.4 为你的环境添加Angular 377

21.5 使用Angular CLI 378

21.6 创建一个基本的Angular应用程序 379

21.6.1 创建你的第一个Angular应用程序 380

21.6.2 了解和使用NgModule 381

21.6.3 创建Angular引导程序 382

21.7 小结 386

21.8 下一章 386

第22章 Angular组件 387

22.1 组件配置 387

22.2 建立模板 388

22.3 使用构造函数 391

22.4 使用外部模板 392

22.5 注入指令 394

22.5.1 使用依赖注入构建嵌套组件 395

22.5.2 通过依赖注入传递数据 397

22.5.3 创建使用输入的Angular应用程序 397

22.6 小结 399

22.7 下一章 399

第23章 表达式 401

23.1 使用表达式 401

23.1.1 使用基本表达式 402

23.1.2 在表达式中与Component类交互 404

23.1.3 在Angular表达式中使用TypeScript 405

23.2 使用管道 408

23.3 建立一个自定义管道 412

23.4 小结 414

23.5 下一章 414

第24章 数据绑定 415

24.1 了解数据绑定 415

24.1.1 插值 415

24.1.2 性质绑定 417

24.1.3 属性绑定 419

24.1.4 类绑定 419

24.1.5 样式绑定 420

24.1.6 事件绑定 421

24.1.7 双向绑定 424

24.2 小结 426

24.3 下一章 426

第25章 内置指令 427

25.1 了解指令 427

25.2 使用内置指令 427

25.2.1 组件指令 428

25.2.2 结构指令 428

25.2.3 属性指令 431

25.3 小结 434

25.4 下一章 434

第6部分 高级Angular 437

第26章 自定义指令 437

26.1 创建自定义属性指令 437

26.2 使用组件创建自定义指令 440

26.3 小结 444

26.4 下一章 444

第27章 事件和变更检测 445

27.1 使用浏览器事件 445

27.2 发出自定义事件 446

27.2.1 将自定义事件发送到父组件层次结构 446

27.2.2 使用监听器处理自定义事件 446

27.2.3 在嵌套组件中实现自定义事件 446

27.2.4 从子组件中删除父组件中的数据 448

27.3 使用可观察物 452

27.3.1 创建一个可观察物对象 452

27.3.2 利用可观察物观察数据变化 453

27.4 小结 455

27.5 下一章 456

第28章 在Web应用程序中实现Angular服务 457

28.1 了解Angular服务 457

28.2 使用内置的服务 457

28.3 使用http服务发送HTTP GET和PUT请求 458

28.3.1 配置HTTP请求 459

28.3.2 实现HTTP响应回调函数 459

28.3.3 实现一个简单的JSON文件并使用http服务来访问它 460

28.4 使用http服务实现一个简单的模拟服务器 463

28.5 使用router服务更改视图 474

28.5.1 在Angular中使用routes 475

28.5.2 实现一个简单的路由 476

28.6 用导航栏实现路由 479

28.7 实现带参数的路由 484

28.8 小结 488

28.9 下一章 488

第29章 创建自己的自定义Angular服务 489

29.1 将自定义服务集成到Angular应用程序中 489

29.2 实现一个使用常量数据服务的简单应用程序 490

29.3 实现数据转换服务 492

29.4 实现可变数据服务 496

29.5 实现一个返回promise的服务 500

29.6 实现共享服务 501

29.7 小结 508

29.8 下一章 508

第30章 玩转Angular 509

30.1 实现使用动画服务的Angular应用程序 509

30.2 实现放大图像的Angular应用程序 514

30.3 实现启用拖放的Angular应用程序 517

30.4 实现星级评级的Angular组件 522

30.5 小结 530

相关图书
作者其它书籍
返回顶部