内容简介
MEAN 是最流行的Web 开发工具的集合,包括MongoDB、Express、AngularJS 和Node.js。本书从 MEAN 的核心框架开始,详细阐述了每一种框架的关键概念,如何正确地设置它们,以及如何用流行的模 块把它们连接在一起。通过本书的实例练习,你能搭建自己的MEAN 应用架构,通过添加认证层,开发 MVC 架构支持自己的项目开发。最后,你将学会使用不同的工具和框架加快你的日常开发进程。
目录
- 第1章MEAN简介 1
- 1.1 三层Web应用开发1
- 1.2 JavaScript的演进2
- 1.3 MEAN简介3
- 1.4 安装MongoDB4
- 1.4.1 在Windows上安装MongoDB5
- 1.4.2 在Mac OS X和Linux上安装MongoDB7
- 1.4.3 使用MongoDB命令行工具8
- 1.5 安装Node.js9
- 1.5.1 在Windows上安装Node.js10
- 1.5.2 在Mac OS X上安装Node.js11
- 1.5.3 在Linux上安装Node.js 12
- 1.5.4 运行Node.js12
- 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 安装Mongoose72
- 5.1.2 连接MongoDB73
- 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 DBRef90
- 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 构建工具Grunt218
- 11.1.1 安装218
- 11.1.2 Grunt的配置220
- 11.2 使用node-inspector调试Express程序230
- 11.2.1 使用Grunt任务安装node-inspector231
- 11.2.2 使用Grunt任务配置node-inspector232
- 11.2.3 使用Grunt任务运行调试234
- 11.3 使用Batarang调试AngularJS程序236
- 11.4 总结241
因为工作原因,对Node的了解一直处于一个肤浅的阶段,知道它的基础,熟悉脚本操作,但是还没有用来真正尝试web开发这次看完这本书《MEAN Web Development》,是Nodeweb的开发入门,很不错我们用Express把mongodb和passportmongous连接起来,前端用AngularJS勾画一个完整的全栈开发场景文章的后两章还介绍了前端自动测试方案和调试方案,说实话这也是一个很好的入门内容但是因为300多页包含了这么多内容,难免不够详细对我来说,这是最合适的让我们开始吧,了解哪些技术和框架可以应用在哪些场景中,然后去官网或者其他学习资料补充,真正用到的时候就好了。最近看的一本难得的好书。
缺点是最终没有引入MEAN.如何使用js,只要介绍一下里面用到的各种技术知识点,等我来MEAN.看看js的官网吧
从前端到后端到数据库都有介绍,深入不多,但也介绍了不少关键知识点,这不是一本入门书,涉及多种知识学习node得同学值得一看。还有一点不得不说,就是错误地方太多,不要完全照着书里面敲代码,多是变量命名,文件命名以及大小写不统一的问题