MEAN全栈开发(第2版) 使用Mongo、Express、 Angular和Node

《MEAN全栈开发(第2版) 使用Mongo、Express、 Angular和Node》

  • 出版社:清华大学出版社
  • ISBN:9787302551850
  • 版次:1
  • 商品编码:12666927
  • 品牌:清华大学出版社(TsinghuaUniversityPress)
  • 包装:平装
  • 开本:16开
  • 出版时间:2020-06-01
  • 用纸:胶版纸
  • 页数:536
  • 字数:675000
基本介绍书籍目录点评信息
  • 书籍内容

    ● MongoDB 4、Express 4、Angular 7和Node.js 11
    ● MEAN技术栈架构
    ● 适用于移动设备的Web应用
    ● 关于效率和可重用性方面的更佳实践

    编辑推荐

    《MEAN全栈开发(第2版) 使用Mongo、Express、Angular和Node》将指导你使用MEAN技术栈开发Web应用程序。本书秉承实用的原则,最开始的几章将引导你使用Express和Node搭建一个静态网站。之后以这个静态网站为基础,整合MongoDB数据库,构建 API 并增加身份验证功能。随着学习的深入,你将掌握关于创建动态、响应式以及数据驱动的Web应用程序的大量专业知识。

    作者简介

    Simon Holmes从2000年开始从事全栈开发工作,同时也是一名解决方案架构师、讲师、团队领导和项目经理。他还经营着一家培训公司,名为Full Stack Training Ltd。Simon 的开发经验非常丰富,通过实际工作中的指导和训练,他非常了解人们的痛点。
    Clive Harber从13岁开始编写计算机程序。他从威尔士斯望西大学取得化学工程硕士学位,多年来为体育和博彩业、电信、医疗保健和零售业编写过使用多种编程语言和不同范例的代码。现阶段,他希望能够为编程社区贡献自己的力量。Clive曾担任Manning出版社其他书籍的审校者和技术审校者,包括《Vue.js实战》、Testing Vue.js Applications、《React实战》、Elixir in Action、Mesos in Action、Usability Matters、《Mountebank微服务测试》、Cross-Platform Desktop Applications和Web Components in Action。
  • 目 录
    第Ⅰ部分 设置基线
    第1章 全栈开发介绍 3
    1.1 为何学习全栈 4
    1.1.1 Web开发简史 4
    1.1.2 全栈开发的趋势 6
    1.1.3 学习全栈开发的益处 7
    1.1.4 为何专门介绍MEAN 7
    1.2 Node.js介绍 8
    1.2.1 JavaScript:MEAN技术栈中唯一的语言 9
    1.2.2 快速、高效和可扩展 9
    1.2.3 通过npm使用预构建的包 12
    1.3 Express介绍 13
    1.3.1 简化服务器配置 13
    1.3.2 路由响应URL 13
    1.3.3 视图:HTML响应 13
    1.3.4 通过会话记录访问者的信息 14
    1.4 MongoDB介绍 14
    1.4.1 关系数据库与文档数据库 14
    1.4.2 MongoDB文档:JavaScript数据存储 15
    1.4.3 不止是文档数据库 16
    1.4.4 MongoDB的不足之处 16
    1.4.5 Mongoose:关于数据建模更多的事 16
    1.5 Angular介绍 17
    1.5.1 jQuery和Angular 18
    1.5.2 双向数据绑定:处理页面中的数据 18
    1.5.3 使用Angular加载新页面 18
    1.5.4 Angular的缺陷 19
    1.5.5 使用TypeScript进行开发 20
    1.6 相关配套支持 20
    1.6.1 使用Twitter Bootstrap创建用户界面 20
    1.6.2 使用Git管理源代码的版本 21
    1.6.3 使用Heroku作为主机 22
    1.7 结合实际示例将它们结合到一起 22
    1.7.1 介绍应用程序示例 22
    1.7.2 MEAN技术栈组件如何协同工作 24
    1.8 本章小结 24
    第2章 设计MEAN技术栈架构 27
    2.1 通用的MEAN技术栈架构 27
    2.2 进一步了解单页面应用 28
    2.2.1 对搜索引擎不友好 29
    2.2.2 Google Analytics和浏览器历史记录 30
    2.2.3 初始化速度 30
    2.2.4 选择单页面应用还是非单页面应用 31
    2.3 设计一种灵活的MEAN架构 32
    2.3.1 博客引擎需求 32
    2.3.2 博客引擎架构 33
    2.3.3 最佳实践:为数据层构建内部API 36
    2.4 规划真实的应用程序 37
    2.4.1 整体规划应用程序 38
    2.4.2 设计应用程序的架构 39
    2.4.3 将所有内容封装到Express项目中 41
    2.4.4 最终产品 42
    2.5 将开发按阶段规划 42
    2.5.1 快速成型的开发阶段 43
    2.5.2 构建Loc8r的步骤 44
    2.6 硬件架构 50
    2.6.1 开发环境需要的硬件 50
    2.6.2 生产环境需要的硬件 50
    2.7 本章小结 52
    第Ⅱ部分 构建Node Web应用程序
    第3章 创建并设置MEAN项目 55
    3.1 Express、Node和npm简介 57
    3.1.1 使用package.json定义包 57
    3.1.2 package.json文件中的依赖版本号 58
    3.1.3 使用npm安装Node依赖 58
    3.2 创建Express项目 60
    3.2.1 安装工具 60
    3.2.2 查看安装状态 61
    3.2.3 创建项目文件夹 61
    3.2.4 配置Express 61
    3.2.5 创建并运行Express项目 63
    3.2.6 重启应用程序 66
    3.3 支持MVC的Express 67
    3.3.1 MVC总览 68
    3.3.2 改变文件夹结构 68
    3.3.3 使用改变位置后的视图和路由 69
    3.3.4 从路由中拆分控制器 71
    3.4 导入Bootstrap以快速实现响应式布局 74
    3.4.1 下载并添加Bootstrap到应用程序中 74
    3.4.2 在应用程序中使用Bootstrap 75
    3.5 使用Heroku 78
    3.5.1 设置Heroku 78
    3.5.2 使用Git将网站发布到线上URL 80
    3.6 本章小结 83
    第4章 使用Node和Express构建静态站点 85
    4.1 定义Express路由 86
    4.2 构建基本控制器 89
    4.2.1 设置控制器 89
    4.2.2 测试控制器和路由 91
    4.3 创建视图 92
    4.3.1 使用Bootstrap 93
    4.3.2 使用Pug模板和Bootstrap设置HTML框架 94
    4.3.3 构建模板 99
    4.4 添加其他视图 103
    4.4.1 地点详情页 104
    4.4.2 添加评论页 108
    4.4.3 添加关于页 109
    4.5 将数据从视图中分离,让视图更智能 111
    4.5.1 将数据从视图移到控制器 113
    4.5.2 处理复杂的重复数据模型 115
    4.5.3 操作数据和视图 119
    4.5.4 使用include和mixin创建可重用的布局组件 120
    4.5.5 查看主页 122
    4.5.6 更新其他视图和控制器 124
    4.6 本章小结 125
    第5章 使用MongoDB和Mongoose构建数据模型 127
    5.1 使用Mongoose将Express应用程序连接到MongoDB 129
    5.2 为什么要为数据建模 137
    5.3 定义简单的Mongoose模式 141
    5.4 使用MongoDB shell创建MongoDB数据库并添加数据 156
    5.5 将数据库发布到线上环境 161
    5.6 本章小结 169
    第6章 编写REST API:向应用程序公开MongoDB数据库 171
    6.1 REST API规则 172
    6.2 在Express中设置API 177
    6.3 GET请求方式:从MongoDB读取数据 184
    6.4 Post请求方式:向MongoDB添加数据 198
    6.5 PUT请求方式:更新MongoDB数据 206
    6.6 DELETE请求方式:删除MongoDB数据 211
    6.7 本章小结 215
    第7 章 消费REST API:使用来自 Express内部的API 217
    7.1 如何调用Express API 218
    7.2 使用API返回列表数据:Loc8r主页 221
    7.3 从API获取单个文档:Details页面 232
    7.4 通过API向数据库添加数据:添加Loc8r用户评论 242
    7.5 通过数据验证保护数据完整性 249
    7.6 本章小结 256
    第Ⅲ部分 使用Angular创建动态页面
    第8章 使用TypeScript开发Angular应用程序 259
    8.1 创建并运行Angular 260
    8.2 开发 Angular 组件 269
    8.3 从API接口中获取数据 284
    8.4 在生产环境中部署Angular应用程序 292
    8.5 本章小结 295
    第9章 使用Angular开发单页面应用:基础 297
    9.1 为Angular SPA添加跳转功能 298
    9.2 使用多个嵌套组件构建模块化的应用程序 306
    9.3 根据地理位置查找附近地点 316
    9.4 安全绑定 HTML片段 324
    9.5 挑战 328
    9.6 本章小结 329
    第10章 使用Angular开发单 页面应用:进阶 331
    10.1 处理更复杂的视图和路由参数 332
    10.2 处理表单和提交数据 349
    10.3 优化现有架构 362
    10.4 使用SPA替换服务器端应用程序 371
    10.5 本章小结 375
    第Ⅳ部分 管理身份认证和用户会话
    第11章 认证用户、管理会话和 API安全 379
    11.1 如何在MEAN技术栈中实现身份认证功能 380
    11.2 为MongoDB创建user模式 384
    11.3 使用Passport创建身份认证API 391
    11.4 保护相关的API终端 400
    11.5 本章小结 406
    第12章 在Angular应用程序中 使用身份认证API 407
    12.1 创建Angular身份认证服务 407
    12.2 创建Register和Login页面 414
    12.3 在Angular应用程序中使用身份认证 423
    12.4 本章小结 434
    附录A 安装MEAN技术栈 435
    附录B 安装其他技术栈 439
    附录C 改造所有视图 447
    附录D 再次介绍JavaScript 457
  • 精彩书评

    想要学习全栈技术?MEAN是正确的选择。
    ——Matt Merkes, My Neighbor
    精彩绝伦的讲解,列举最更新、生动的示例。
    ——Rambabu Posa, GL Assessment
    从“菜鸟”到“大牛”,本书能够为所有程序员提供有效的帮助。
    ——Davide Molin, Coding Shack
    深入剖析 MEAN 技术栈的底层原理。
    ——Andrea Tarocchi, Red Hat
    本书是我读过的更优秀的软件开发书籍。
    ——来自Amazon的评论
    学习MEAN技术栈的第一选择。
    ——来自Amazon的评论
微信公众号

热门文章

更多