cover

MEAN Web开发

Amos Q. Haviv / 人民邮电出版社 / 2015

MEAN 是最流行的Web 开发工具的集合,包括MongoDB、Express、AngularJS 和Node.js。本教程 从MEAN 的核心框架开始,详细阐述了每一种框架的关键概念,如何正确地设置它们,以及如何用 流行的模块把它们连接在一起,适合对利用MEAN 开发现代Web应用感兴趣的Web开发者或JavaScript 全栈开发者学习。

¥29.99 / 3个月在线服务,赠送PDF电子书
  • 正版授权内容
  • 在线练习环境
  • 答疑服务支持
  • 离线PDF下载
版权声明 致谢 前言 本书主要内容 阅读本书的前提 本书读者 排版约定 读者反馈 客户支持 下载示例代码 勘误表 侵权行为 问题 第1章 MEAN 简介 1.1 三层Web应用开发 1.2 JavaScript的演进 1.3 MEAN简介 1.4 安装MongoDB 1.4.1 在Windows上安装MongoDB 1.4.2 在Mac OS X和Linux上安装MongoDB 1.4.3 使用MongoDB命令行工具 1.5 安装Node.js 1.5.1 在Windows上安装Node.js 1.5.2 在Mac OS X上安装Node.js 1.5.3 在Linux上安装Node.js 1.5.4 运行Node.js 1.6 NPM简介 NPM使用 1.7 总结 第2章 Node.js入门 2.1 Node.js简介 2.1.1 JavaScript事件驱动编程 2.1.2 Node.js事件驱动编程 2.2 JavaScript闭包 2.3 Node模块 2.3.1 CommonJS模块 2.3.2 Node.js核心模块 2.3.3 Node.js第三方模块 2.3.4 Node.js文件模块 2.3.5 Node.js文件夹模块 2.4 Node.js Web应用开发 初识Connect模块 2.5 总结 第3章 使用Express开发Web应用 3.1 Express简介 3.2 Express安装 3.3 创建第一个Express应用 3.4 应用、请求和响应对象 3.4.1 应用对象 3.4.2 请求对象 3.4.3 响应对象 3.5 外部的中间件 3.6 实现MVC模式 应用文件夹结构 3.7 Express 应用配置 环境配置文件 3.8 渲染视图 3.8.1 配置视图系统 3.8.2 EJS视图渲染 3.9 静态文件服务 3.10 配置会话 3.11 总结 第4章 MongoDB入门 4.1 NoSQL简介 4.2 MongoDB简介 4.3 MongoDB的关键特性 4.3.1 BSON格式 4.3.2 MongoDB即席查询 4.3.3 MongoDB索引 4.3.4 MongoDB副本集 4.3.5 MongoDB分片 4.4 MongoDB命令行工具 4.5 MongoDB数据库 4.6 MongoDB集合 4.7 MongoDB增删改查操作 4.7.1 创建新文档 4.7.2 读取文档 4.7.3 更新已有文档 4.7.4 删除文档 4.8 总结 第5章 Mongoose入门 5.1 Mongoose简介 5.1.1 安装Mongoose 5.1.2 连接MongoDB 5.2 理解Mongoose的模式 5.2.1 创建User模式与模型 5.2.2 注册User模型 5.2.3 使用save()创建新文档 5.2.4 使用find()查找多个文档 5.2.5 使用findOne()读取单个文档 5.2.6 更新已有文档 5.2.7 删除已有文档 5.3 扩展Mongoose模式 5.3.1 定义默认值 5.3.2 使用模式修饰符 5.3.3 增加虚拟属性 5.3.4 使用索引优化查询 5.4 模型方法自定义 5.4.1 自定义静态方法 5.4.2 自定义实例方法 5.5 模型的校验 5.5.1 预定义的验证器 5.5.2 自定义的验证器 5.6 使用Mongoose中间件 5.6.1 预处理中间件 5.6.2 后置处理中间件 5.7 使用Mongoose DBRef 5.8 总结 第6章 使用Passport模块管理用户权限 6.1 Passport简介 6.1.1 安装 6.1.2 配置 6.2 理解Passport策略 6.2.1 使用Passport的本地策略 6.2.2 修改User模型 6.2.3 创建身份验证视图 6.2.4 修改用户控制器 6.2.5 添加用户路由 6.3 理解Passport的OAuth策略 设置OAuth策略 6.4 总结 第7章 AngularJS入门 7.1 AngularJS简介 7.2 AngularJS的核心概念 7.2.1 核心模块 7.2.2 模块 7.2.3 双向数据绑定 7.2.4 依赖注入 7.2.5 AngularJS指令 7.2.6 AngularJS应用的引导 7.3 安装AngularJS 7.3.1 Bower包管理器 7.3.2 配置Bower 7.3.3 使用Bower安装AngularJS 7.3.4 配置AngularJS 7.4 AngularJS应用的结构 7.5 引导AngularJS应用 7.6 AngularJS的MVC实体 7.6.1 视图 7.6.2 控制器和scope 7.7 AngularJS路由 7.7.1 安装ngRoute模块 7.7.2 配置URL模式 7.7.3 AngularJS应用路由 7.8 AngularJS 服务 7.8.1 预置服务 7.8.2 自定义服务 7.8.3 服务的使用 7.9 管理AngularJS的身份验证 7.9.1 将user对象填充到视图 7.9.2 添加身份验证服务 7.9.3 使用身份验证服务 7.10 总结 第8章 创建MEAN的CURD模块 8.1 CURD模块简介 8.2 配置Express组件 8.2.1 创建Mongoose模型 8.2.2 建立Express控制器 8.2.3 编写Express路由 8.2.4 配置Express应用 8.3 ngResource模块简介 8.3.1 安装ngResource模块 8.3.2 使用$resource服务 8.4 实现AngularJS的MVC模块 8.4.1 创建模块服务 8.4.2 建立模块控制器 8.4.3 实现模块视图 8.4.4 编写AngularJS路由 8.5 最终实现 8.6 总结 第9章 基于Socket.io的实时通信 9.1 WebSockets简介 9.2 Socket.io简介 9.2.1 Socket.io服务器端对象 9.2.2 Socket.io客户端对象 9.2.3 Socket.io的事件 9.2.4 Socket.io命名空间 9.2.5 Socket.io的房间 9.3 Socket.io的安装 9.3.1 配置Socket.io的服务器 9.3.2 配置Socket.io的会话 9.4 使用Socket.io创建聊天室 9.4.1 设置聊天服务器的事件处理程序 9.4.2 在AngularJS中创建Socket服务 9.4.3 控制器 9.4.4 视图 9.4.5 路由 9.4.6 实现 9.5 总结 第10章 MEAN应用的测试 10.1 JavaScript测试简介 10.1.1 TDD、BDD和单元测试 10.1.2 测试框架 10.1.3 断言库 10.1.4 测试执行过程管理工具 10.2 Express应用测试 10.2.1 Mocha简介 10.2.2 Should.js简介 10.2.3 SuperTest简介 10.2.4 Mocha的安装 10.2.5 安装Should.js和SuperTest模块 10.2.6 测试环境配置 10.2.7 编写Mocha测试 10.2.8 执行Mocha测试 10.3 AngularJS应用测试 10.3.1 Jasmine框架简介 10.3.2 AngularJS单元测试 10.3.3 AngularJS E2E测试 10.4 总结 第11章 MEAN应用的调试与自动化 11.1 构建工具Grunt 11.1.1 安装 11.1.2 Grunt的配置 11.2 使用node-inspector调试Express程序 11.2.1 使用Grunt任务安装node-inspector 11.2.2 使用Grunt任务配置node-inspector 11.2.3 使用Grunt任务运行调试 11.3 使用Batarang调试AngularJS程序 Batarang的使用 11.4 总结