MEAN Web开发

出版日期:2015-7
ISBN:9787115396639
作者:[以色列] Amos Q. Haviv
页数:256页

内容概要

Amos Q. Haviv
软件工程师,技术顾问,MEAN.IO和MEAN.JS的创建者。Amos有近十年的全栈开发经验,曾就职于多个创业公司和企业。过去的三年中,Amos一直在使用JavaScript的全栈解决方案进行开发,包括Node.js和MongoDB,以及AngularJS一类的前端MVC框架。2013年,他创建了MEAN应用的第一个样板MEAN.IO,目前在www.meanjs.org继续开发MEAN解决方案。他还在各类会议上做一些Web前沿技术的演讲。此外,他还为多家公司的开发团队提供指导。

书籍目录

第1章 MEAN简介   1
1.1 三层Web应用开发  1
1.2 JavaScript的演进  2
1.3 MEAN简介  3
1.4 安装MongoDB  4
1.4.1 在Windows上安装MongoDB  5
1.4.2 在Mac OS X和Linux上安装MongoDB  7
1.4.3 使用MongoDB命令行工具  8
1.5 安装Node.js  9
1.5.1 在Windows上安装Node.js  10
1.5.2 在Mac OS X上安装Node.js  11
1.5.3 在Linux上安装Node.js   12
1.5.4 运行Node.js  12
1.6 NPM简介  13
1.7 总结  18
第2章 Node.js入门  19
2.1 Node.js简介  19
2.1.1 JavaScript事件驱动编程  20
2.1.2 Node.js事件驱动编程  22
2.2 JavaScript闭包  23
2.3 Node模块  24
2.3.1 CommonJS模块  24
2.3.2 Node.js核心模块  26
2.3.3 Node.js第三方模块  26
2.3.4 Node.js文件模块  26
2.3.5 Node.js文件夹模块  27
2.4 Node.js Web应用开发  27
2.5 总结  34
第3章 使用Express开发Web应用  35
3.1 Express简介  35
3.2 Express安装  36
3.3 创建第一个Express应用  36
3.4 应用、请求和响应对象  37
3.4.1 应用对象  37
3.4.2 请求对象  38
3.4.3 响应对象  38
3.5 外部的中间件  39
3.6 实现MVC模式  40
3.7 Express应用配置  48
3.8 渲染视图  51
3.8.1 配置视图系统  51
3.8.2 EJS视图渲染  53
3.9 静态文件服务  53
3.10 配置会话  55
3.11 总结  57
第4章 MongoDB入门  58
4.1 NoSQL简介  58
4.2 MongoDB简介  60
4.3 MongoDB的关键特性  61
4.3.1 BSON格式  61
4.3.2 MongoDB即席查询  61
4.3.3 MongoDB索引  62
4.3.4 MongoDB副本集  63
4.3.5 MongoDB分片  64
4.4 MongoDB命令行工具  65
4.5 MongoDB数据库  66
4.6 MongoDB集合  66
4.7 MongoDB增删改查操作  67
4.7.1 创建新文档  67
4.7.2 读取文档  68
4.7.3 更新已有文档  69
4.7.4 删除文档  70
4.8 总结  71
第5章 Mongoose入门  72
5.1 Mongoose简介  72
5.1.1 安装Mongoose  72
5.1.2 连接MongoDB  73
5.2 理解Mongoose的模式  74
5.2.1 创建User模式与模型  74
5.2.2 注册USer模型  75
5.2.3 使用save()创建新文档  75
5.2.4 使用find()查找多个文档  77
5.2.5 使用findOne()读取单个文档  79
5.2.6 更新已有文档  80
5.2.7 删除已有文档  81
5.3 扩展Mongoose模式  82
5.3.1 定义默认值  82
5.3.2 使用模式修饰符  83
5.3.3 增加虚拟属性  85
5.3.4 使用索引优化查询  85
5.4 模型方法自定义  86
5.4.1 自定义静态方法  86
5.4.2 自定义实例方法  87
5.5 模型的校验  87
5.5.1 预定义的验证器  87
5.5.2 自定义的验证器  89
5.6 使用Mongoose中间件  89
5.6.1 预处理中间件  89
5.6.2 后置处理中间件  90
5.7 使用Mongoose DBRef  90
5.8 总结  91
第6章 使用Passport模块管理用户权限  92
6.1 Passport简介  92
6.1.1 安装  92
6.1.2 配置  93
6.2 理解Passport策略   95
6.2.1 使用Passport的本地策略   95
6.2.2 修改User模型   97
6.2.3 创建身份验证视图   99
6.2.4 修改用户控制器   101
6.2.5 添加用户路由   105
6.3 理解Passport的OAuth策略   107
6.4 总结   118
第7章 AngularJS入门   119
7.1 AngularJS简介   119
7.2 AngularJS的核心概念   119
7.2.1 核心模块   120
7.2.2 模块   120
7.2.3 双向数据绑定   121
7.2.4 依赖注入   122
7.2.5 AngularJS指令   123
7.2.6 AngularJS应用的引导   124
7.3 安装AngularJS   125
7.3.1 Bower包管理器   125
7.3.2 配置Bower   126
7.3.3 使用Bower安装AngularJS    126
7.3.4 配置AngularJS   127
7.4 AngularJS应用的结构   127
7.5 引导AngularJS应用   130
7.6 AngularJS的MVC实体   131
7.6.1 视图   132
7.6.2 控制器和scope   133
7.7 AngularJS路由   135
7.7.1 安装ngRoute模块   136
7.7.2 配置URL模式   137
7.7.3 AngularJS应用路由   137
7.8 AngularJS服务   139
7.8.1 预置服务   139
7.8.2 自定义服务   140
7.8.3 服务的使用   141
7.9 管理AngularJS的身份验证   141
7.9.1 将user对象填充到视图   141
7.9.2 添加身份验证服务   142
7.9.3 使用身份验证服务   144
7.10 总结  144
第8章 创建MEAN的CURD模块   145
8.1 CURD模块简介  145
8.2 配置Express组件  145
8.2.1 创建Mongoose模型  146
8.2.2 建立Express控制器  147
8.2.3 编写Express路由  152
8.2.4 配置Express应用  153
8.3 ngResource模块简介  154
8.3.1 安装ngResource模块  154
8.3.2 使用$resource服务  156
8.4 实现AngularJS的MVC模块  157
8.4.1 创建模块服务  157
8.4.2 建立模块控制器  158
8.4.3 实现模块视图  161
8.4.4 编写AngularJS路由  164
8.5 最终实现  164
8.6 总结  166
第9章 基于Socket.io的实时通信   167
9.1 WebSockets简介  167
9.2 Socket.io简介  168
9.2.1 Socket.io服务器端对象  169
9.2.2 Socket.io客户端对象  171
9.2.3 Socket.io的事件  171
9.2.4 Socket.io命名空间  174
9.2.5 Socket.io的房间  175
9.3 Socket.io的安装  176
9.3.1 配置Socket.io的服务器  177
9.3.2 配置Socket.io的会话  178
9.4 使用Socket.io创建聊天室  182
9.4.1 设置聊天服务器的事件处理程序  182
9.4.2 在AngularJS中创建Socket服务  184
9.4.3 控制器  185
9.4.4 视图  186
9.4.5 路由  186
9.4.6 实现  187
9.5 总结  189
第10章 MEAN应用的测试   190
10.1 JavaScript测试简介  190
10.1.1 TDD、BDD和单元测试  191
10.1.2 测试框架  192
10.1.3 断言库  192
10.1.4 测试执行过程管理工具  192
10.2 Express应用测试  193
10.2.1 Mocha简介  193
10.2.2 Should.js简介  194
10.2.3 SuperTest简介  194
10.2.4 Mocha的安装  195
10.2.5 安装Should.js和SuperTest模块  195
10.2.6 测试环境配置  196
10.2.7 编写Mocha测试  197
10.2.8 执行Mocha测试  201
10.3 AngularJS应用测试  202
10.3.1 Jasmine框架简介  203
10.3.2 AngularJS单元测试  203
10.3.3 AngularJS E2E测试  213
10.4 总结  217
第11章 MEAN应用的调试与自动化   218
11.1 构建工具Grunt  218
11.1.1 安装  218
11.1.2 Grunt的配置  220
11.2 使用node-inspector调试Express程序  230
11.2.1 使用Grunt任务安装node-inspector  231
11.2.2 使用Grunt任务配置node-inspector  232
11.2.3 使用Grunt任务运行调试  234
11.3 使用Batarang调试AngularJS程序  236
11.4 总结  241

作者简介

MEAN 是最流行的Web 开发工具的集合,包括MongoDB、Express、AngularJS 和Node.js。本书从 MEAN 的核心框架开始,详细阐述了每一种框架的关键概念,如何正确地设置它们,以及如何用流行的模 块把它们连接在一起。通过本书的实例练习,你能搭建自己的MEAN 应用架构,通过添加认证层,开发 MVC 架构支持自己的项目开发。最后,你将学会使用不同的工具和框架加快你的日常开发进程。


 MEAN Web开发下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     如果你之前连MEAN中的tutorial都没学习过,那这本书将会是你的噩梦,作者完全按照工程和实践的角度写书,写得很跳. 其实这不是什么问题,查查其他资料就行但是各种错漏是什么鬼啊,这里少个引号,编译不过,那里印刷错误,看得头大,最可恨的是第六章, 被各种变量命名耍得团团转- 有一句说一句,作者的思路还是不错的

精彩短评 (总计3条)

  •     书是好书,不过怎么感觉第七章开始就乱写了呢,可能是我还没有相关背景知识吧
  •     依照JS 全栈的线路写了一遍。
  •     从第六章起,一切解释的不是那么的详细了。另外有很多大小写错误。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024