目录



源码下载



第1章初识Node.js

1.1Node.js简介

1.1.1Node.js的发展历程

1.1.2Node.js的特点

1.1.3为什么要使用Node.js

1.2Node.js运行环境安装

1.2.1在Windows上安装Node

1.2.2在Linux上安装Node 

1.2.3在macOS上安装Node

1.3NPM依赖管理工具

1.3.1NPM简介

1.3.2NPM的使用

第2章Node.js编程基础

2.1Node.js快速入门

2.1.1Node.js基础

2.1.2创建第一个Node应用

2.2模块化开发

2.2.1模块化的概念

2.2.2CommonJS规范

2.2.3Node.js中的模块化

2.2.4Node.js系统模块

2.2.5第三方模块

第3章异步I/O

3.1什么是异步I/O

3.1.1为什么要使用异步I/O

3.1.2异步I/O与非阻塞I/O

3.2Node.js的异步I/O

3.2.1事件循环

3.2.2观察者模式

3.2.3请求对象

3.2.4执行回调

3.3非I/O的异步API

3.3.1定时器

3.3.2process.nextTick()函数



第4章Stream

4.1Stream的概念

4.1.1Stream简介

4.1.2Stream实现的过程

4.1.3Stream应用场景

4.2使用Stream操作文件

4.2.1Node.js读写文件

4.2.2使用Stream读写文件

4.2.3Stream对性能的影响

4.3readline逐行读取

4.4Buffer二进制流

4.4.1什么是二进制流

4.4.2使用Buffer提升性能

第5章Node.js Web服务器开发

5.1使用Node.js搭建Web服务器

5.1.1http模块

5.1.2事件驱动编程

5.1.3路由

5.1.4静态资源服务

5.2请求与响应对象

5.2.1URL的组成部分

5.2.2HTTP请求方法

5.2.3请求报头

5.2.4响应报头

5.2.5请求体

5.2.6参数

5.2.7请求对象

5.2.8响应对象

第6章Express框架

6.1Express框架简介

6.2Express框架安装与配置

6.2.1安装Express

6.2.2Express目录结构

6.2.3Express的路由管理

6.2.4Express的视图管理

6.3Express中间件

6.3.1中间件的概念

6.3.2Express中间件的使用

6.3.3自定义Express中间件

6.3.4常用的中间件

6.4Express中的MVC

6.4.1MVC概述

6.4.2模型

6.4.3视图模型

6.4.4控制器

第7章静态资源

7.1网站中的静态资源

7.1.1什么是静态资源

7.1.2静态资源对性能的影响

7.2Web应用中的静态资源

7.2.1静态映射

7.2.2视图中的静态资源

7.2.3CSS中的静态资源

7.3搭建静态资源服务器

7.3.1什么是静态资源服务器

7.3.2使用Node搭建静态资源服务器

第8章Handlebars

8.1模板引擎简介

8.1.1什么是模板引擎

8.1.2传统JavaScript模板

8.1.3如何选择模板引擎

8.2Handlebars模板引擎

8.2.1Handlebars简介

8.2.2Handlebars的安装

8.2.3Handlebars的特性

8.3Handlebars的使用

8.3.1注释

8.3.2块级表达式

8.3.3服务器端模板

8.3.4视图和布局

8.3.5在Express中使用布局

8.3.6客户端Handlebars

第9章MongoDB数据库

9.1MongoDB数据库简介

9.1.1什么是数据库

9.1.2数据库的优点

9.1.3MongoDB数据库重要概念

9.2MongoDB数据库环境搭建

9.2.1MongoDB数据库的下载与安装

9.2.2MongoDB Compass可视化工具

9.2.3启动MongoDB服务

9.3mongoose模块

9.3.1mongoose模块简介

9.3.2Schema模式对象

9.3.3Model模型对象

9.3.4Document文档对象

9.4MongoDB模块

9.4.1连接数据库

9.4.2创建集合

9.4.3数据库操作

第10章Ajax异步请求

10.1Ajax基础

10.1.1传统网站中存在的问题

10.1.2Ajax概述

10.1.3Ajax的使用场景

10.1.4Ajax的优点

10.1.5Ajax的缺点

10.2Ajax的工作原理

10.2.1Ajax运行原理

10.2.2XMLHttpRequest对象

10.2.3XMLHttpRequest对象的常用方法

10.3Ajax的实现步骤

10.3.1创建XMLHttpRequest对象

10.3.2设置请求方式

10.3.3调用回调函数

10.3.4发送HTTP请求

10.3.5Ajax的缓存问题

10.4浏览器同源策略

10.4.1什么是同源策略

10.4.2同源策略的限制

10.4.3同源策略的解决方案

10.5RESTful风格API

10.5.1RESTful API 概述

10.5.2为什么要使用RESTful结构

10.5.3RESTful API的实现

第11章会话跟踪

11.1会话跟踪概述

11.1.1HTTP请求的特点

11.1.2什么是会话跟踪

11.1.3会话跟踪的用途

11.2Express中的会话跟踪

11.2.1Express中的Cookie

11.2.2Express中的Session

第12章Node.js实现网络爬虫

12.1网络爬虫概述

12.1.1什么是网络爬虫

12.1.2网络爬虫的实现原理

12.1.3Node.js实现网络爬虫的优势

12.2基于Node实现的爬虫程序

12.2.1安装依赖包

12.2.2实现抓取数据

12.2.3实现爬虫的方法

第13章网络编程

13.1Node构建TCP服务

13.1.1TCP

13.1.2构建TCP服务器

13.2Node构建UDP服务

13.2.1UDP协议

13.2.2创建UDP套接字

13.2.3创建UDP服务器和客户端

13.3Node构建HTTP服务

13.3.1初识HTTP协议

13.3.2Node中的http模块

13.4Node构建WebSocket服务

13.4.1什么是WebSocket

13.4.2WebSocket实例的属性与方法

13.4.3构建WebSocket服务

第14章项目实战: Express开发投票管理系统

14.1项目概述

14.1.1开发环境

14.1.2项目结构

14.2数据库设计

14.2.1连接数据库

14.2.2创建Schema文档对象

14.2.3封装CRUD函数

14.2.4封装文件上传业务逻辑

14.3配置前端开发环境

14.3.1静态文件管理

14.3.2安装依赖

14.4后台功能模块开发

14.4.1系统用户登录

14.4.2系统用户管理

14.4.3候选对象管理

14.4.4投票主题管理

14.4.5投票环节管理

14.4.6投票统计管理

14.5网站前台布局