腾讯Web前端工程师全面揭秘原生Node.js的开发实践,不借助任何第三方框架,通过编写原生代码,讲解Node.js应用开发
深入详解Node.js原生文档,根据原生API实践和大量应用实例,详细分析Node.js的开发过程,了解原生Node.js的API应用
全面涵盖Node.js基础知识、模块与NPM、Web应用、UDP服务、异步编程思想、异常处理过程、操作数据库的方法、框架开发与应用、开发工具等
注重实践,讲解时穿插了430多个代码小示例,提供了30多个编程实践练习题及解答,还介绍了5个大型系统的开发,并赠送8小时教学视频(需下载)
第1章 Node.js基础知识
1.1 概述
1.1.1 Node.js是什么
1.1.2 Node.js带来了什么
1.2 Node.js配置开发
1.2.1 Windows配置
1.2.2 Linux配置
1.2.3 HelloWorld
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.2 Node.js如何处理模块
2.1.3 Node.js实现Web解析DNS
2.1.4 Node.js重构DNS解析网站
2.1.5 exports和module.eXports
2.2 NPM简介
2.2.1 NPM和配置
2.2.2 Express框架
2.2.3 jade模板
2.2.4 forever模块
2.2.5 socket.io模块
2.2.6 request模块
2.2.7 Formidable模块
2.2.8 NPM模块开发指南
2.3 Node.js设计模式
2.3.1 模块与类
2.3.2 Node.js中的继承
2.3.3 单例模式
2.3.4 适配器模式
2.3.5 装饰模式
2.3.6 工厂模式
2.4 本章实践
2.5 本章小结
第3章 Node.js的Web应用
3.1 HTTP服务器
3.1.1 简单的HTTP服务器
3.1.2 路由处理
3.1.3 GET和POST
3.1.4 GET方法实例
3.1.5 POST方法实例
3.1.6 HTTP和HTTPS模块介绍
3.2 Node.js静态资源管理
3.2.1 为什么需要静态资源管理
3.2.2 Node.js实现简单静态资源管理
3.2.3 静态资源库设计
3.2.4 静态文件的缓存控制
3.3 文件处理
3.3.1 FileSystem模块介绍
3.3.2 图片和文件上传
3.3.3 jade模板实现图片上传展示功能
3.3.4 上传图片存在的问题
3.3.5 文件读写
3.4 Cookie和Session
3.4.1 Cookie和Session
3.4.2 Session模块实现
3.4.3 Session模块的应用
3.5 Crypto模块加密
3.5.1 Crypto介绍
3.5.2 Web数据密码的安全
3.5.3 简单加密模块设计
3.6 Node.js+INginx
3.6.1 Nginx概述
3.6.2 Nginx的配置安装
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 本章小结
★本书从实践出发,一步步地引领读者深入学习Node.js的原生Web开发技术。书中的一些案例分析来自于作者的开发实践,有很强的实用性和指导意义。总之,本书对于Node.js爱好者来说是一本非常有价值的参考书,值得阅读。
——腾讯国际业务部社区平台开发总监 刘志浩
★本书高屋建瓴地阐述了Node.js的理论知识,又深入浅出地介绍了其技术细节,谈及的编程技巧可谓波谲云诡,而其应用实践更是变幻莫测。总之,笔触简练深沉,力透纸背,行文如流水,读来酣畅淋漓,全文一气呵成,浑然一体,实乃作者扛鼎大作,亦属业界佳品。
——腾讯公司后台开发工程师 王震
★本书结合工作项目,带你领略一番JavaScript在服务器端的英姿,内容涵盖了Node.js的精髓,很多内容是作者在项目应用中的成果。可以说,本书是当前市场上最为详细而实用的一本Node.js开发图书。
——腾讯公司CDG前端开发工程师 郭湃钦
★本书就像描述一段旷世奇恋,随着剧情的深入,每个人心中的记忆之门都在无意中被打开,而书中一个惊人的秘密也随之被揭开:原来Node.js技术在腾讯帅哥工程师的笔下居然是如此引人入胜,相见恨晚。
——腾讯公司资深测试工程师 吴晓丹
★本书讲述的是当前非常流行和热门的开发技术,这对开发人员非常有价值。作者带领大家由浅入深,一步一步地揭开了Node.js原生开发的神秘面纱。
——软件技术爱好者 黄文娟