内容简介:
作为服务器端的JavaScript解释器,Node是一个轻量高效的开发平台,用于构建响应快速、高度可扩展的Web应用。它使用事件驱动和非阻塞的I/O模型,非常适合开发数据密集、对实时响应要求高的分布式应用,在微软、eBay、LinkedIn、雅虎等世界知名公司均有成功的应用。 本书是Node开发基础教程,通过大量示例介绍如何使用HTTP服务器和客户端对象、Connect和Express应用框架、异步执行算法,以及如何结合使用SQL和MongoDB数据库。另外,本书同时针对开发和部署环境给出了实用的Node安装建议,介绍了HTTP服务器和客户端应用的开发,阐述了很多Node使用方式,包括在应用中使用数据库存储引擎,以及在有无Connect/Express Web应用框架的情况下开发网站的方法。本书还介绍了Node的CommonJS模块系统,帮助开发人员实现一些重要的面向对象设计方案。
本书适合具有一定JavaScript和Web应用开发基础知识、打算使用服务器端JavaScript开发高性能Web应用的开发人员阅读。
本书内容包括:
服务器端JavaScript对于Web应用开发的作用
使用Node时,针对性能和吞吐量作出成熟的架构选择
为开发和部署服务器端Web应用安装和使用Node
Connect和Express应用框架的使用
在应用中设置SQL或MongoDB数据库系统
区分并评估同步算法和异步算法
目 录
第1章 Node入门 1
1.1 Node能做什么 1
1.2 为什么要使用Node 3
1.2.1 架构问题:线程,还是异步事件驱动 4
1.2.2 性能和利用率 5
1.2.3 服务器利用率、成本和绿色Web托管服务 6
1.3 Node、Node.js还是Node .JS 7
1.4 小结 7
第2章 安装并配置Node 8
2.1 系统要求 8
2.2 在符合POSIX标准的系统上安装 9
2.3 在Mac OS X上安装开发者工具 9
2.3.1 在home目录下安装 9
2.3.2 在系统级目录下安装Node 11
2.3.3 在Mac OS X上使用MacPorts安装 12
2.3.4 在Mac OS X上使用homebrew安装 12
2.3.5 在Linux上使用软件包管理系统安装 12
2.3.6 同时安装并维护多个Node 13
2.4 验证安装成功与否 14
2.4.1 Node命令行工具 14
2.4.2 用Node运行简单的脚本 15
2.4.3 用Node启动服务器 16
2.5 安装npm——Node包管理器 16
2.6 系统启动时自动启动Node服务器 17
2.7 小结 22
第3章 Node模块 23
3.1 什么是模块 23
3.1.1 Node模块 24
3.1.2 Node解析require ('module')的方式 24
3.2 Node包管理器 28
3.2.1 npm包的格式 29
3.2.2 查找npm包 30
3.2.3 使用npm命令 31
3.2.4 Node包版本的标识和范围 38
3.2.5 CommonJS模块 39
3.3 小结 40
第4章 几种典型的简单应用 41
4.1 Math Wizard 41
4.2 不依赖框架的实现 41
4.2.1 路由请求 42
4.2.2 处理URL查询参数 43
4.2.3 乘法运算 44
4.2.4 其他数学函数的执行 45
4.2.5 扩展Math Wizard 48
4.2.6 长时间运行的运算(斐波那契数) 48
4.2.7 还缺什么功能 51
4.2.8 使用Connect框架实现Math Wizard 52
4.2.9 安装和设置Connect 52
4.2.10 使用Connect 53
4.3 使用Express框架实现Math Wizard 55
4.3.1 准备工作 55
4.3.2 处理错误 59
4.3.3 参数化的URL和数据服务 60
4.4 小结 64
第5章 简单的Web服务器、EventEmitter和HTTP客户端 65
5.1 通过EventEmitter发送和接收事件 65
5.2 HTTP Sniffer——监听HTTP会话 67
5.3 基本的Web服务器 69
5.4 MIME类型和MIME npm包 78
5.5 处理cookie 79
5.6 虚拟主机和请求路由 79
5.7 发送HTTP客户端请求 79
5.8 小结 81
第6章 存取数据 83
6.1 Node的数据存储引擎 83
6.2 SQLite3——轻量级的进程内SQL引擎 83
6.2.1 安装SQLite 3 83
6.2.2 用SQLite3实现便签应用 84
6.2.3 在Node中使用其他SQL数据库 95
6.3 Mongoose 96
6.3.1 安装Mongoose 96
6.3.2 用Mongoose实现便签应用 97
6.3.3 对MongoDB数据库的其他支持 102
6.4 如何实现用户验证 102
6.5 小结 104
《汽车标志大全.德国、法国、俄罗斯篇》内容简介:汽车品牌和它的标志是一个不可分割的整体,汽车品牌对应着标志。品牌名即是可以读
本书介绍了常用Windows软件和Web页的用户界面设计方法,分析了用户界面各个要素的具体设计准则,说明了用户与计算机之间通过鼠标
《OpenShift在企业中的实践(第2版)》内容简介:本书以红帽OpenShift v4为核心编写,从客户的数字化转型入手,介绍如何通过OpenSh
IrmaBoom早年一直学习媒体艺术,积累了对各种材料的认识与处理的经验;大学毕业后进入荷兰国家印刷协会工作,对纸张、印刷、装订
《语文课超有趣:部编本语文教材同步学(五年级·下册)》内容简介:从小学到初中,每个年级、每一篇课文都配有若干拓展阅读的文章
《中国之读:“中国文学”的理论和方法》内容简介:本书是作者近些年来从事文学研究所作论文的选编。着眼于文学理论和评论的“中国
Access数据库管理软件是一套集数据管理、程序开发功能于一体的高级办公软件,是特别适合普通办公人员进行日常工作的有力助手。本
《Ajax高级程序设计(第2版)》是Ajax领域的名著,详细讲解了帧、JavaScript、cookie、XML和XHR如何与Ajax相关,以及具体的Ajax技...
《XML完全探索》是完全根据读者的需要而设计的,书中有大量实际的XML场景。是一本尽可能深入地阐述XML的书籍,与其他XML书籍不同
《JavaScript框架设计(第2版)》内容简介:本书全面讲解了JavaScript框架设计及相关的知识,主要内容包括种子模块、语言模块、浏览
作家加里·哈梅尔的预测尖锐地指出了所有公司面临的挑战——商场逐鹿中,只有疾速创新才能立于不败之地。美国著名设计公司IDEO的
Afascinatingexplorationofhowinsightsfromcomputeralgorithmscanbeappliedtoourevery...
Spring框架是主要的开源应用程序开发框架,它使得Java/J2EE开发更容易、效率更高。本书不仅向读者展示了Spring能做什么?而且揭示
《向NASA学工程师文化》内容简介:太空探索既是一个关于探索和发现的故事,也是一个关于领导力和团队合作的故事。本书深入探讨了NA
《高性能响应式Web开发实战》内容简介:响应式Web设计的理念是让页面根据用户行为以及设备环境(屏幕尺寸、分辨率等)进行相应的响
《C++编程思考》第2版与第1版相比,在章节安排上有以下改变。增加了两章:“对象的创建与使用”和“C++中的C”,前者与“对象导言
资深数据专家凝炼数十年教学和实践经验,全面阐释如何使用R的20%功能完成80%的现代数据工作。本书是资深数据专家数十年教学与实践
本书是一本注重实践的教程,作者为我们揭示了47个鲜为人知的CSS技巧,主要内容包括背景与边框、形状、视觉效果、字体排印、用户体
《好投资与坏投资》内容简介:投资背后是极其重要的生活抉择。好的投资可以让家庭生活变得轻松,让人免受辛苦劳累工作的羁绊。坏的
CSS是层叠样式表的简称,通过它可控制网页样式并允许将样式信息与网页内容分离。《CSS终极参考手册》是CSS的最佳参考书籍,共18章