书由浅入深,全面、系统地介绍了Node.js开发技术。书中提供了大量有针对性的实例,供读者实践学习,同时提供了大量的实践练习题及详尽的解答,帮助读者进一步巩固和提高。本书重在代码实践,阅读时应多注重实践编程。本书提供8小时配套教学视频及实例源代码,便于读者高效、直观地学习。 本书共分为11章。涵盖的主要内容有:Node.js的概念、应用场景、环境搭建和配置、异步编程;Node.js的模块概念及应用、Node.js的设计模式;HTTP简单服务的搭建、Node.js静态资源管理、文件处理、Cookie和Session实践、Crypto模块加密、Node.js与Nginx配合;UDP服务器的搭建、Node.js与PHP之间合作;Node.js的实现机制、Node.js的原生扩展与应用;Node.js的编码习惯;Node.js操作MySQL和MongoDB;基于Node.js的Myweb框架的基本设计架构及实现;利用Myweb框架实现一个简单的Web聊天室;在线聊天室案例和在线中国象棋案例的实现;Node.js的日志模块、curl模块、crontab模块、forever模块、xml模块和邮件发送模块等应用工具。 本书非常适合从事编程开发的学生、教师、广大科研人员和工程技术人员研读。建议阅读本书的读者对JavaScript的语法和PHP的相关知识有一定的了解。当然,如果你是初学者,本书也是一本难得的参考书。
第1章Node.js基础知识
1.1概述
1.1.1Node.js是什么
1.1.2Node.js带来了什么
1.2Node.js配置开发
1.2.1Windows配置
1.2.2Linux配置
1.2.3HelloWorld
1.2.4常见问题
1.3异步编程
1.3.1同步调用和异步调用
1.3.2回调和异步调用
1.3.3获取异步函数的执行结果
1.4本章实践
1.5本章小结
第2章模块和NPM
2.1什么是模块
2.1.1模块的概念
2.1.2Node.js如何处理模块
2.1.3Node.js实现Web解析DNS
2.1.4Node.js重构DNS解析网站
2.1.5exports和module.eXports
2.2NPM简介
2.2.1NPM和配置
2.2.2Express框架
2.2.3jade模板
2.2.4forever模块
2.2.5socket.io模块
2.2.6request模块
2.2.7Formidable模块
2.2.8NPM模块开发指南
2.3Node.js设计模式
2.3.1模块与类
2.3.2Node.js中的继承
2.3.3单例模式
2.3.4适配器模式
2.3.5装饰模式
2.3.6工厂模式
2.4本章实践
2.5本章小结
第3章Node.js的Web应用
3.1HTTP服务器
3.1.1简单的HTTP服务器
3.1.2路由处理
3.1.3GET和POST
3.1.4GET方法实例
3.1.5POST方法实例
3.1.6HTTP和HTTPS模块介绍
3.2Node.js静态资源管理
3.2.1为什么需要静态资源管理
3.2.2Node.js实现简单静态资源管理
3.2.3静态资源库设计
3.2.4静态文件的缓存控制
3.3文件处理
3.3.1FileSystem模块介绍
3.3.2图片和文件上传
3.3.3jade模板实现图片上传展示功能
3.3.4上传图片存在的问题
3.3.5文件读写
3.4Cookie和Session
3.4.1Cookie和Session
3.4.2Session模块实现
3.4.3Session模块的应用
3.5Crypto模块加密
3.5.1Crypto介绍
3.5.2Web数据密码的安全
3.5.3简单加密模块设计
3.6Node.js+INginx
3.6.1Nginx概述
3.6.2Nginx的配置安装
3.6.3如何构建
3.7 文字直播实例
3.7.1 系统分析
3.7.2 重要模块介绍
3.8 扩展阅读
3.9 本章实践
3.10 本章小结
第4章 Node.js高级编程
4.1 构建UDP服务器
4.1.1 UDP 模块概述
4.1.2 UDP Server构建
4.2 UDP服务器应用
4.2.1 应用分析介绍
4.2.2 UDP Server端(图片处理服务器)实现
4.2.3 UDP Client端(Web Server)
4.2.4 Jade页面实现
4.2.5 应用体验
4.3 Node.js与PHP合作
4.3.1 UDP方式
4.3.2 脚本执行
4.3.3 HTTP方式
4.3.4 三种方式的比较
4.4 本章实践
4.5 本章小结
第5章 深入Node.js
5.1 Node.js的相关实现机制
5.2 Node.js原生扩展
5.2.1 Node.js扩展开发基础V8
5.2.2 Node.js插件开发介绍
5.3 Node.js异步扩展开发与应用
5.4 本章实践
5.5 本章小结
第6章 Node.js编码习惯
6.1 Node.js规范
6.1.1 变量和函数命名规范
6.1.2 模块编写规范
6.1.3 注释
6.2 Node.js异步编程规范
6.2.1 Node.js的异步实现
6.2.2 异步函数的调用
6.2.3 Node.js异步回调深度
6.2.4 解决异步编程带来的麻烦
6.3 异常逻辑的处理
6.3.1 require模块对象不存在异常
6.3.2 对象中不存在方法或者属性时的异常
6.3.3 异步执行的for循环异常
6.3.4 利用异常处理办法优化路由
6.3.5 异常情况汇总
6.4 本章实践
6.5 本章小结
第7章 Node.js与数据库
7.1 两种数据库介绍
7.1.1 MySQL介绍
7.1.2 MongoDB模块介绍
7.2 Node.js与MySQL
7.2.1 MySQL安装配置应用
7.2.2 MySQL数据库接口设计
7.2.3 数据库连接
7.2.4 数据库插入数据
7.2.5 查询一条数据记录
7.2.6 修改数据库记录
7.2.7 删除数据库记录
7.2.8 数据条件查询
7.3 Node.js与MongoDB
7.3.1 MongoDB的安装以及工具介绍
7.3.2 MongOD的启动运行方法
7.3.3 MongoDB的启动运行
7.3.4 MongoDB数据库接口设计
7.3.5 数据插入
7.3.6 数据修改
7.3.7 查询一条数据
7.3.8 删除数据
7.3.9 查询数据
7.4 MySQL与MongoDB性能
7.4.1 测试工具及测试逻辑
7.4.2 MySQL性能测试代码
7.4.3 MongoDB性能测试代码
7.4.4 性能测试数据分析
7.5 本章实践
7.6 本章小结
第8章 MyWeb框架介绍
8.1 MyWeb框架介绍
8.1.1 MyWeb框架涉及的应用
8.1.2 MyWeb框架应用模块
8.2 MyWeb源码架构
8.2.1 框架MVC设计图
8.2.2 框架文件结构
8.2.3 扩展阅读之更快地了解新项目
8.3 框架源码分析
8.3.1 框架入口文件模块
8.3.2 路由处理模块
8.3.3 Model层基类
8.3.4 Controller层基类
8.4 本章实践
8.5 本章小结
第9章 框架应用MyChat
9.1 编码前的准备
9.1.1 应用分析
9.1.2 应用模块
9.1.3 功能模块设计
9.2 系统的编码开发
9.2.1 Model层
9.2.2 Controller层
9.2.3 View层
9.3 项目总结
9.3.1 forever启动运行项目
9.3.2 系统应用体验
9.3.3 系统开发总结
9.4 扩展阅读之MyWeb 2.0的介绍
9.5 本章实践
9.6 本章小结
第10章 Node.js实例应用
10.1 实时聊天对话
10.1.1 系统设计
10.1.2 系统的模块设计
10.1.3 系统编码实现
10.2 联网中国象棋游戏
10.2.1 系统设计
10.2.2 系统的模块设计
10.2.3 系统编码实现
10.2.4 系统体验
10.3 本章小结
第11章 Node.js实用工具
11.1 日志模块工具
11.1.1 日志模块介绍
11.1.2 日志模块实现
11.1.3 日志模块应用
11.2 配置文件读取模块
11.2.1 配置文件解析模块介绍
11.2.2 配置文件解析模块实现
11.3 curl模块
11.3.1 curl模块介绍
11.3.2 curl模块实现
11.3.3 curl模块应用
11.4 crontab模块
11.4.1 crontab模块介绍
11.4.2 crontab模块设计实现
11.4.3 crontab模块应用
11.5 forever运行脚本
11.5.1 forever运行脚本介绍
11.5.2 forever运行脚本实现
11.5.3 forever运行脚本应用
11.6 xml模块的应用
11.6.1 xml解析模块介绍
11.6.2 xml模块设计实现
11.6.3 xml模块应用
11.7 邮件发送模块应用
11.7.1 邮件模块介绍
11.7.2 邮件模块设计实现
11.7.3 邮件模块应用
11.8 本章小结
H.264视频编码标准被称为新一代视频编码标准。《新一代视频压缩编码标准:H.264/AVC(第2版)》在介绍数字视频和视频编码基本原理的
Python开发从入门到精通系列Python语言从入门到精通 本书特色 Python语言从入门到精通循序渐进地讲解了使用Python语言的核心知识,并通过具体实...
《30天学会钢琴弹奏》内容简介:想随心所欲地弹奏出一首流畅的钢琴曲,却苦于不识五线谱?没有时间去上钢琴班,自学又太费时间?《
《子义手抄报》内容简介:这是一本指导学生制作黑板报和手抄报的工具书。这本书里的画风清丽,为学生提供了丰富的版式设计和内容选
《化工原理》重点介绍化工单元操作的基本原理、计算方法和典型设备。全书共8章,包括绪论、流体流动与输送机械、非均相物系分离、
《经济学夜话:宏观篇》内容简介:本书为《经济学夜话》的“宏观篇”,紧跟当下实事,话题涉及新冠疫情下的世界经济、如何衡量物价
HandbookofvisualexperienceAnexplorationofsymbolsandtheirmeaningsthroughouthistor...
TheauthorsofThoughtfulInteractionDesigngobeyondtheusualtechnicalconcernsofusabil...
《Android Studio移动应用开发高级进阶》内容简介:本书是Android Studio移动应用开发系列教材的高级篇。本书在《Android Studi...
《被谷歌》内容简介:我们身处这样一个汹涌激荡的时代:报纸走向破产;杂志遭遇变卖;图书出版商的利润空间被狠狠挤压;广播电视
《周恩来与人民代表大会制度》内容简介:本书是淮安市人民代表大会常务委员会办公室组织编写的党建历史类著作,从史实考证的角度,
在这个点击率就是生命的时代,高可用是不可少的。本书完整讲述了Nginx服务器的各种技术细节以及安装、部署、运维等方面的内容。《
《如何专业做采购》内容简介:作为专业采购必须有能力回答4大核心问题: 为什么选择这家供应商? 为什么是这个价格? 如何通过合同
作者简介:井上诚一郎曾在美国参与过LotusNotes的开发,后在日本创立了ArielNetwork股份公司,任CTO。目前从事面向企业的PSP软件
移动通信是当前发展最快、应用最广和最前沿的通信领域之一。本书共分为七章,主要介绍了移动通信的基本概念,移动通信网网络技术
数据时代已经到来,但数据分析、数据挖掘人才却十分短缺。由于“大数据”对每个领域的决定性影响, 相对于经验和直觉,在商业、
在游戏开发中,应用正确的物理定律可以逼真地模拟游戏中任何弹跳、飞行、翻滚、滑行或非静止的物体,以建立令人注目且真实的游戏
《ASP.NETAJAX程序设计》(第1卷)系统介绍ASP.NETAjax程序设计知识,共3卷。本卷从最易于理解和使用的那部分入手,介绍ASP.NETAJA
書裝幀,就如同女媧造人最後吹出的那口氣,賦予一本書新的生命力,更召喚書中內在的靈魂,成為書籍最初的表情,為作品自身說話。
《私人财富保护、传承与工具》内容简介:企业、家族、婚姻等多方面的真实案例,多种财富管理工具,深入介绍财富规划方案及风险。这