新書推薦:
《
图以载道——传统绘画的图像叙事
》
售價:NT$
390.0
《
骨科康复学(第2版)
》
售價:NT$
1140.0
《
笔记启蒙 : 英国皇家学会与科学革命
》
售價:NT$
390.0
《
汉语副词研究论集(第六辑)
》
售價:NT$
490.0
《
干戈之影:商代的战争观念、武装者与武器装备
》
售價:NT$
340.0
《
镶嵌之美:古希腊罗马的马赛克艺术
》
售價:NT$
1390.0
《
后希腊化哲学:从斯多亚学派到奥利金的发展研究
》
售價:NT$
349.0
《
别纠结啦:不被情绪牵着走的通透生活指南(“当代一休”小池龙之介治愈新作!附赠精美书签!)
》
售價:NT$
295.0
|
編輯推薦: |
MEAN是流行的现代Web开发工具的集合,包括MongoDB、Express、AngularJS和Node.js,为现代Web开发提供了一种创新性的方法。
本书从MEAN核心框架的安装和配置讲起,以实际项目为主线,讲解了每个框架的基本概念、使用方法,以及如何使用主流的模块把它们融合在一起。书中通过现实示例介绍了如何搭建MEAN应用架构,添加权限管理层,创建MVC架构来协助项目的开发。此外还介绍了如何测试和调试MEAN应用,以及如何灵活运用不同的工具和框架来加速日常开发进程。通过学习本书,你可以迅速掌握MEAN开发的思路,创建自己的完整的MEAN应用。
如果你是Web开发者或(想成为)全栈JavaScript程序员,想使用MEAN创建现代Web应用,那么本书是你的必读之书!
通过学习本书,你将能够:
创建和运行Express应用
使用MongoDB存储和检索应用数据
将Express应用连接到MongoDB,使用Mongoose模块
使用Passport来管理用户权限,提供第三方账号的登录
在MEAN项目中构建和使用AngularJS应用
使用Socket.io来创建客
|
內容簡介: |
MEAN 是最流行的Web 开发工具的集合,包括MongoDB、Express、AngularJS 和Node.js。本书从MEAN 的核心框架开始,详细阐述了每一种框架的关键概念,如何正确地设置它们,以及如何用流行的模块把它们连接在一起。通过本书的实例练习,你能搭建自己的MEAN 应用架构,通过添加认证层,开发MVC 架构支持自己的项目开发。最后,你将学会使用不同的工具和框架加快你的日常开发进程。
本书适合对利用MEAN 开发现代Web 应用感兴趣的Web 开发者或JavaScript 全栈开发者阅读。
|
關於作者: |
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
|
|