内容简介:
作为服务器端的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
《小创客学光环板》内容简介:本书主要介绍利用小巧的光环板及功能强大的慧编程平台实现智能可穿戴设备作品的设计与创作。在内容上
《Qtfor Python PySide6GUI界面开发详解与实例》内容简介:本书详细介绍了PySide6提供的各种可视化类进行可视化界面编程。本书对各
文明以止,人文也。硅谷的成功,不完全在人或钱,也不在科技,而在整体的生态。硅谷创投家郑志凯先生带领你领略硅谷的精髓。本书以
《电商迷藏》内容简介:中国首部小说题材的实战类电商著作,以团购电商为背景,一位拥有10年电商全盘实战经验的资深高管,通过自述
《计算机导论(第6版)》面向非计算机专业人员和学生介绍计算机基础知识,内容精美,语言流畅、图文并茂,贴近实际,是一本不可多得
《做自己人生的CEO》内容简介:她从爱哭的职场小白到年轻CEO,只用了6年 她懂得“管理老板”,曾是财经大咖吴晓波器重的左膀右臂 对
《Laravel框架关键技术解析》内容简介:《Laravel框架关键技术解析》以Laravel 5.1版本为基础,从框架技术角度介绍Laravel构建的原
《先秦学术概论》内容简介:本书纵论先秦学术,首先鸟瞰先秦各学派的源流和相互关系,其次对道、儒、法、名、墨、阴阳、纵横、兵、
《灵活Web设计》讲述如何应用可变或不固定布局及弹性布局来实现灵活设计,以满足用户的根据自己需求而调整浏览站点的窗口大小的要
本书将虚拟现实描绘为人类和图像之间的一种核心关系,论证了在新旧媒介中这种关系是如何体现的。作者以“沉浸”和“幻觉”为线索
.这几年,我们一直在喊“转型”,也有很多人给出了很多“经营新方向”,应该说见仁见智,但有一点需要说明,不应把转型想得、说得
软件设计师2009至2014年试题分析与解答-全国计算机技术与软件专业技术资格(水平)考试指定用书 本书特色软件设计师级考试是全国计算机技术与软件专业技术资格(...
《春天在心里歌唱》内容简介:本书精选了四十多篇世界上最具代表性的散文,所选篇目皆出自于名家,语言优美,意义深邃,堪称人类文
Object-orientedprogrammingisthecurrentcure-all—althoughithasbeenaroundformuchmor...
ApracticalguideonCSS(CascadingStyleSheets)forprofessionalsandnovices,thatcanbeus...
《深入浅出Python量化交易实战》内容简介:本书主要以国内A股市场为例,借助第三方量化交易平台,讲述了KNN、线性模型、决策树、支
《西南联大历史通识课》内容简介:★西南联大博物馆官方认证版 ★1937—2022,西南联大建校85周年纪念 ★大师摇篮,世界教育史上的
《拿笔就画!色铅笔绘画从入门到精通》内容简介:拿笔就画!许多人都期望能够随心所欲地勾画我们看到的世界和想象的世界,《拿笔就
《Asterisk权威指南(原书第5版)》内容简介:本书第5版覆盖Asterisk16的最新发展。本书不仅全面讲述了Asterisk最新技术和应用,还
本书通过丰富的示例和详细的讲解,介绍了ReactNative这款JavaScript框架。在ReactNative中利用现有的JavaScript和React知...