书籍详情
Node.js入门经典
作者:(英)George Ornbo 著
出版社:人民邮电出版社
出版时间:2013-04-01
ISBN:9787115311078
定价:¥59.00
购买这本书可以去
内容简介
Node.js是一套用来编写高性能网络服务器的JavaScript工具包,从2009年诞生之日起,就获得了业内专家和技术社区的强烈关注。而《Node.js入门经典》采用直观、循序渐进的方法对如何使用Node.js来开发及具速度和可扩展性优势的服务器端应用程序进行了讲解。《Node.js入门经典》分为6部分,第1部分介绍了Node.js的基本概念和特性;第2部分讲解如何借助HTTP模块和ExpressWeb框架,使用Node.js创建基本的网站;第3部分介绍了调试和测试Node.js应用程序的工具,以及部署Node.js应用的方法;第4部分讲解了Node.js实现实时编程的能力以及Socket.IO;第5部分介绍了Node.jsAPI以及构建Node.js应用程序所使用的组件;第6部分则介绍了CoffeeScript这款JavaScript预编译器的知识,以及如何在Node.js中使用中间件、Backbone.js来创建单页面应用的知识。《Node.js入门经典》内容循序渐进、深入浅出、步骤详尽,而且附有大量适合动手实践的示例,可帮助读者在最短的时间内掌握Node.js。本书适合对Node.js感兴趣的零基础人员阅读,也适合对Web前端开发、后端开发感兴趣的技术人员阅读。
作者简介
GeorgeOrnbo是英国的一位JavaScript和Ruby开发人员。他开发Web应用程序已有8年时间,一开始是以自由职业者的身份工作,最近则为伦敦的pebble{code}工作。他的博客地址是http://shapeshed.com,在网络中大多数常见的地方,他都以@shapeshed出现。
目录
第1部分 入门
第1章 Node.js介绍
1.1 什么是Node.js
1.2 使用Node.js能做什么
1.3 安装并创建第一个Node.js程序
1.3.1 验证Node.js正确安装
1.3.2 创建“Hello World”Node.js程序
1.4 小结
1.5 问与答
1.6 测验
1.6.1 问题
1.6.2 答案
1.7 练习
第2章 npm(Node包管理器)
2.1 npm是什么
2.2 安装npm
2.3 安装模块
2.4 使用模块
2.5 如何找模块
2.5.1 官方来源
2.5.2 非官方来源
2.6 本地和全局的安装
2.6.1 本地安装
2.6.2 全局安装
2.7 如何找模块文档
2.8 使用package.json指定依赖关系(dependency)
2.9 小结
2.10 问与答
2.11 测验
2.11.1 问题
2.11.2 答案
2.12 练习
第3章 Node.js的作用
3.1 设计Node.js的目的
3.2 理解I/O
3.3 处理输入
3.4 联网的I/O是不可预测的
3.5 人类是不可预测的
3.6 处理不可预测性
3.7 小结
3.8 问与答
3.9 测验
3.9.1 问题
3.9.2 答案
3.10 练习
第4章 回调(Callback)
4.1 什么是回调
4.2 剖析回调
4.3 Node.js如何使用回调
4.4 同步和异步代码
4.5 事件循环
4.6 小结
4.7 问与答
4.8 测验
4.8.1 问题
4.8.2 答案
4.9 练习
第2部分 使用Node.js的基本网站
第5章 HTTP
5.1 什么是HTTP
5.2 使用Node.js的HTTP服务器
5.2.1 一个基础的服务器
5.2.2 加入头(Header)
5.2.3 检查响应头
5.2.4 Node.js中的重定向
5.2.5 响应不同的请求
5.3 使用Node.js的HTTP客户端
5.4 小结
5.5 问与答
5.6 测验
5.6.1 问题
5.6.2 答案
5.7 练习
第6章 Express介绍
6.1 什么是Express
6.2 为什么使用Express
6.3 安装Express
6.4 创建一个基础的Express站点
6.5 探索Express
6.5.1 app.js
6.5.2 node_modules
6.5.3 package.json
6.5.4 public
6.5.5 routes
6.5.6 views
6.6 介绍Jade
6.6.1 使用Jade定义页面结构
6.6.2 使用Jade输出数据
6.7 小结
6.8 问与答
6.9 测验
6.9.1 问题
6.9.2 答案
6.10 练习
第7章 深入Express
7.1 Web应用程序中的路由
7.2 在Express中路由如何工作
7.3 添加GET路由
7.4 添加POST路由
7.5 在路由中使用参数
7.6 让路由保持可维护性
7.7 视图渲染
7.8 使用本地变量
7.9 小结
7.10 问与答
7.11 测验
7.11.1 问题
7.11.2 答案
7.12 练习
第8章 数据的持久化
8.1 什么是持久的数据
8.2 将数据写入文件
8.3 从文件读取数据
8.4 读取环境变量
8.5 使用数据库
8.5.1 关系数据库
8.5.2 NoSQL数据库
8.6 在Node.js中使用MongoDB
8.6.1 安装MongoDB
8.6.2 连接MongoDB
8.6.3 定义文档
8.6.4 将Twitter Bootstrap包含进来
8.6.5 索引(Index)视图
8.6.6 创建(Create)视图
8.6.7 编辑视图
8.6.8 删除任务
8.6.9 添加闪出消息
8.6.10 验证输入的数据
8.7 小结
8.8 问与答
8.9 测验
8.9.1 问题
8.9.2 答案
8.10 练习
第3部分 调试、测试与部署
第9章 调试Node.js应用程序
9.1 调试
9.2 STDIO模块
9.3 Node.js调试器
9.4 Node Inspector
9.5 关于测试的注释
9.6 小结
9.7 问与答
9.8 测验
9.8.1 问题
9.8.2 答案
9.9 练习
第10章 测试Node.js应用程序
10.1 为什么测试
10.2 Assert(断言)模块
10.3 第三方测试工具
10.4 行为驱动的开发(Behavior Driven Development)
10.4.1 Vows
10.4.2 Mocha
10.5 小结
10.6 问与答
10.7 测验
10.7.1 问题
10.7.2 答案
10.8 练习
第11章 部署Node.js应用程序
11.1 准备好部署
11.2 在云上托管
11.3 Heroku
11.3.1 注册Heroku
11.3.2 为Heroku准备应用程序
11.3.3 将应用程序部署到Heroku
11.4 Cloud Foundry
11.4.1 注册Cloud Foundry
11.4.2 为Cloud Foundry准备应用程序
11.4.3 将应用程序部署到Cloud Foundry
11.5 Nodester
11.5.1 注册Nodester
11.5.2 为Nodester准备应用程序
11.5.3 将应用程序部署到Nodester
11.6 其他PaaS提供商
11.7 小结
11.8 问与答
11.9 测验
11.9.1 测验
11.9.2 答案
11.10 练习
第4部分 使用Node.js的中间站点
第12章 介绍Socket.IO
12.1 现在要开始学习一些完全不同的技术了
12.2 动态Web简史
12.3 Socket.IO
12.4 基础的Socket.IO示例
12.5 从服务器发送数据到客户端
12.6 将数据广播给客户端
12.7 双向数据
12.8 小结
12.9 问与答
12.10 测验
12.10.1 问题
12.10.2 答案
12.11 练习
第13章 一个Socket.IO聊天服务器
13.1 Express和Socket.IO
13.2 添加昵称
13.2.1 将昵称发送给服务器
13.2.2 管理昵称列表
13.2.3 使用回调来验证
13.2.4 广播昵称列表
13.2.5 添加消息收发功能
13.3 小结
13.4 问与答
13.5 测验
13.5.1 问题
13.5.2 答案
13.6 练习
第14章 一个流Twitter客户端
14.1 流API
14.2 注册Twitter
14.3 和Node.js一起使用Twitter的API
14.4 从数据中挖掘含义
14.5 将数据推送到浏览器
14.6 创建一个实时的爱恨表
14.7 小结
14.8 问与答
14.9 测验
14.9.1 问题
14.9.2 答案
14.10 练习
第15章 JSON API
15.1 API
15.2 JSON
15.3 使用Node.js发送JSON数据
15.4 从JavaScript对象创建JSON
15.5 使用Node.js消费JSON数据
15.6 使用Node.js创建JSON API
15.6.1 在Express中以JSON发送数据
15.6.2 构建应用程序
15.7 小结
15.8 问与答
15.9 测验
15.9.1 问题
15.9.2 答案
15.10 练习
第5部分 探索Node.js API
第16章 进程模块
16.1 进程是什么
16.2 退出进程以及进程中的错误
16.3 进程与信号
16.4 向进程发送信号
16.5 使用Node.js创建脚本
16.6 给脚本传递参数
16.7 小结
16.8 问与答
16.9 测验
16.9.1 问题
16.9.2 答案
16.10 练习
第17章 子进程模块
17.1 什么是子进程
17.2 杀死子进程
17.3 与子进程通信
17.4 集群(Cluster)模块
17.5 小结
17.6 问与答
17.7 测验
17.7.1 问题
17.7.2 答案
17.8 练习
第18章 事件模块
18.1 理解事件
18.2 通过HTTP演示事件
18.3 用事件玩乒乓
18.4 动态编写事件侦听器程序
18.5 小结
18.6 问与答
18.7 测验
18.7.1 问题
18.7.2 答案
18.8 练习
第19章 缓冲区模块
19.1 二进制数据初步
19.2 从二进制到文本
19.3 二进制和Node.js
19.4 Node.js中的缓冲区是什么?
19.5 写入缓冲区
19.6 向缓冲区追加数据
19.7 复制缓冲区
19.8 修改缓冲区中的字符串
19.9 小结
19.10 问与答
19.11 测验
19.11.1 问题
19.11.2 答案
19.12 练习
第20章 流模块
20.1 流简介
20.2 可读流
20.3 可写流
20.4 通过管道连接流
20.5 流的MP3
20.6 小结
20.7 问与答
20.8 测验
20.8.1 问题
20.8.2 答案
20.9 练习
第6部分 进一步的Node.js开发
第21章 CoffeeScript
21.1 什么是CoffeeScript
21.2 安装与运行CoffeeScript
21.3 为什么要使用预编译器
21.4 CoffeeScript的功能
21.4.1 最小语法
21.4.2 条件和比较
21.4.3 循环
21.4.4 字符串
21.4.5 对象
21.4.6 类、继承和super
21.5 调试CoffeeScript
21.6 对CoffeeScript的反应
21.7 小结
21.8 问与答
21.9 测验
21.9.1 问题
21.9.2 答案
21.10 练习
第22章 创建Node.js模块
22.1 为什么创建模块
22.2 流行的Node.js模块
22.3 package.json文件
22.4 文件夹结构
22.5 开发和测试模块
22.6 添加可执行文件
22.7 使用面向对象或者基于原型的编程
22.8 通过GitHub共享代码
22.9 使用Travis CI
22.10 发布到npm
22.11 公开模块
22.12 小结
22.13 问与答
22.14 测验
22.14.1 问题
22.14.2 答案
22.15 练习
第23章 使用Connect创建中间件
23.1 什么是中间件
23.2 Connect中的中间件
23.3 使用中间件的访问控制
23.4 按IP地址限制访问
23.5 将用户强制到单个域上
23.6 小结
23.7 问与答
23.8 测验
23.8.1 问题
23.8.2 答案
23.9 练习
第24章 结合使用Backbone.js与Node.js
24.1 什么是Backbone.js
24.2 Backbone.js如何工作
24.3 一个简单的Backbone.js视图
24.4 使用Backbone.js创建记录
24.5 小结
24.6 问与答
24.7 测验
24.7.1 问题
24.7.2 答案
24.8 练习
……
第1章 Node.js介绍
1.1 什么是Node.js
1.2 使用Node.js能做什么
1.3 安装并创建第一个Node.js程序
1.3.1 验证Node.js正确安装
1.3.2 创建“Hello World”Node.js程序
1.4 小结
1.5 问与答
1.6 测验
1.6.1 问题
1.6.2 答案
1.7 练习
第2章 npm(Node包管理器)
2.1 npm是什么
2.2 安装npm
2.3 安装模块
2.4 使用模块
2.5 如何找模块
2.5.1 官方来源
2.5.2 非官方来源
2.6 本地和全局的安装
2.6.1 本地安装
2.6.2 全局安装
2.7 如何找模块文档
2.8 使用package.json指定依赖关系(dependency)
2.9 小结
2.10 问与答
2.11 测验
2.11.1 问题
2.11.2 答案
2.12 练习
第3章 Node.js的作用
3.1 设计Node.js的目的
3.2 理解I/O
3.3 处理输入
3.4 联网的I/O是不可预测的
3.5 人类是不可预测的
3.6 处理不可预测性
3.7 小结
3.8 问与答
3.9 测验
3.9.1 问题
3.9.2 答案
3.10 练习
第4章 回调(Callback)
4.1 什么是回调
4.2 剖析回调
4.3 Node.js如何使用回调
4.4 同步和异步代码
4.5 事件循环
4.6 小结
4.7 问与答
4.8 测验
4.8.1 问题
4.8.2 答案
4.9 练习
第2部分 使用Node.js的基本网站
第5章 HTTP
5.1 什么是HTTP
5.2 使用Node.js的HTTP服务器
5.2.1 一个基础的服务器
5.2.2 加入头(Header)
5.2.3 检查响应头
5.2.4 Node.js中的重定向
5.2.5 响应不同的请求
5.3 使用Node.js的HTTP客户端
5.4 小结
5.5 问与答
5.6 测验
5.6.1 问题
5.6.2 答案
5.7 练习
第6章 Express介绍
6.1 什么是Express
6.2 为什么使用Express
6.3 安装Express
6.4 创建一个基础的Express站点
6.5 探索Express
6.5.1 app.js
6.5.2 node_modules
6.5.3 package.json
6.5.4 public
6.5.5 routes
6.5.6 views
6.6 介绍Jade
6.6.1 使用Jade定义页面结构
6.6.2 使用Jade输出数据
6.7 小结
6.8 问与答
6.9 测验
6.9.1 问题
6.9.2 答案
6.10 练习
第7章 深入Express
7.1 Web应用程序中的路由
7.2 在Express中路由如何工作
7.3 添加GET路由
7.4 添加POST路由
7.5 在路由中使用参数
7.6 让路由保持可维护性
7.7 视图渲染
7.8 使用本地变量
7.9 小结
7.10 问与答
7.11 测验
7.11.1 问题
7.11.2 答案
7.12 练习
第8章 数据的持久化
8.1 什么是持久的数据
8.2 将数据写入文件
8.3 从文件读取数据
8.4 读取环境变量
8.5 使用数据库
8.5.1 关系数据库
8.5.2 NoSQL数据库
8.6 在Node.js中使用MongoDB
8.6.1 安装MongoDB
8.6.2 连接MongoDB
8.6.3 定义文档
8.6.4 将Twitter Bootstrap包含进来
8.6.5 索引(Index)视图
8.6.6 创建(Create)视图
8.6.7 编辑视图
8.6.8 删除任务
8.6.9 添加闪出消息
8.6.10 验证输入的数据
8.7 小结
8.8 问与答
8.9 测验
8.9.1 问题
8.9.2 答案
8.10 练习
第3部分 调试、测试与部署
第9章 调试Node.js应用程序
9.1 调试
9.2 STDIO模块
9.3 Node.js调试器
9.4 Node Inspector
9.5 关于测试的注释
9.6 小结
9.7 问与答
9.8 测验
9.8.1 问题
9.8.2 答案
9.9 练习
第10章 测试Node.js应用程序
10.1 为什么测试
10.2 Assert(断言)模块
10.3 第三方测试工具
10.4 行为驱动的开发(Behavior Driven Development)
10.4.1 Vows
10.4.2 Mocha
10.5 小结
10.6 问与答
10.7 测验
10.7.1 问题
10.7.2 答案
10.8 练习
第11章 部署Node.js应用程序
11.1 准备好部署
11.2 在云上托管
11.3 Heroku
11.3.1 注册Heroku
11.3.2 为Heroku准备应用程序
11.3.3 将应用程序部署到Heroku
11.4 Cloud Foundry
11.4.1 注册Cloud Foundry
11.4.2 为Cloud Foundry准备应用程序
11.4.3 将应用程序部署到Cloud Foundry
11.5 Nodester
11.5.1 注册Nodester
11.5.2 为Nodester准备应用程序
11.5.3 将应用程序部署到Nodester
11.6 其他PaaS提供商
11.7 小结
11.8 问与答
11.9 测验
11.9.1 测验
11.9.2 答案
11.10 练习
第4部分 使用Node.js的中间站点
第12章 介绍Socket.IO
12.1 现在要开始学习一些完全不同的技术了
12.2 动态Web简史
12.3 Socket.IO
12.4 基础的Socket.IO示例
12.5 从服务器发送数据到客户端
12.6 将数据广播给客户端
12.7 双向数据
12.8 小结
12.9 问与答
12.10 测验
12.10.1 问题
12.10.2 答案
12.11 练习
第13章 一个Socket.IO聊天服务器
13.1 Express和Socket.IO
13.2 添加昵称
13.2.1 将昵称发送给服务器
13.2.2 管理昵称列表
13.2.3 使用回调来验证
13.2.4 广播昵称列表
13.2.5 添加消息收发功能
13.3 小结
13.4 问与答
13.5 测验
13.5.1 问题
13.5.2 答案
13.6 练习
第14章 一个流Twitter客户端
14.1 流API
14.2 注册Twitter
14.3 和Node.js一起使用Twitter的API
14.4 从数据中挖掘含义
14.5 将数据推送到浏览器
14.6 创建一个实时的爱恨表
14.7 小结
14.8 问与答
14.9 测验
14.9.1 问题
14.9.2 答案
14.10 练习
第15章 JSON API
15.1 API
15.2 JSON
15.3 使用Node.js发送JSON数据
15.4 从JavaScript对象创建JSON
15.5 使用Node.js消费JSON数据
15.6 使用Node.js创建JSON API
15.6.1 在Express中以JSON发送数据
15.6.2 构建应用程序
15.7 小结
15.8 问与答
15.9 测验
15.9.1 问题
15.9.2 答案
15.10 练习
第5部分 探索Node.js API
第16章 进程模块
16.1 进程是什么
16.2 退出进程以及进程中的错误
16.3 进程与信号
16.4 向进程发送信号
16.5 使用Node.js创建脚本
16.6 给脚本传递参数
16.7 小结
16.8 问与答
16.9 测验
16.9.1 问题
16.9.2 答案
16.10 练习
第17章 子进程模块
17.1 什么是子进程
17.2 杀死子进程
17.3 与子进程通信
17.4 集群(Cluster)模块
17.5 小结
17.6 问与答
17.7 测验
17.7.1 问题
17.7.2 答案
17.8 练习
第18章 事件模块
18.1 理解事件
18.2 通过HTTP演示事件
18.3 用事件玩乒乓
18.4 动态编写事件侦听器程序
18.5 小结
18.6 问与答
18.7 测验
18.7.1 问题
18.7.2 答案
18.8 练习
第19章 缓冲区模块
19.1 二进制数据初步
19.2 从二进制到文本
19.3 二进制和Node.js
19.4 Node.js中的缓冲区是什么?
19.5 写入缓冲区
19.6 向缓冲区追加数据
19.7 复制缓冲区
19.8 修改缓冲区中的字符串
19.9 小结
19.10 问与答
19.11 测验
19.11.1 问题
19.11.2 答案
19.12 练习
第20章 流模块
20.1 流简介
20.2 可读流
20.3 可写流
20.4 通过管道连接流
20.5 流的MP3
20.6 小结
20.7 问与答
20.8 测验
20.8.1 问题
20.8.2 答案
20.9 练习
第6部分 进一步的Node.js开发
第21章 CoffeeScript
21.1 什么是CoffeeScript
21.2 安装与运行CoffeeScript
21.3 为什么要使用预编译器
21.4 CoffeeScript的功能
21.4.1 最小语法
21.4.2 条件和比较
21.4.3 循环
21.4.4 字符串
21.4.5 对象
21.4.6 类、继承和super
21.5 调试CoffeeScript
21.6 对CoffeeScript的反应
21.7 小结
21.8 问与答
21.9 测验
21.9.1 问题
21.9.2 答案
21.10 练习
第22章 创建Node.js模块
22.1 为什么创建模块
22.2 流行的Node.js模块
22.3 package.json文件
22.4 文件夹结构
22.5 开发和测试模块
22.6 添加可执行文件
22.7 使用面向对象或者基于原型的编程
22.8 通过GitHub共享代码
22.9 使用Travis CI
22.10 发布到npm
22.11 公开模块
22.12 小结
22.13 问与答
22.14 测验
22.14.1 问题
22.14.2 答案
22.15 练习
第23章 使用Connect创建中间件
23.1 什么是中间件
23.2 Connect中的中间件
23.3 使用中间件的访问控制
23.4 按IP地址限制访问
23.5 将用户强制到单个域上
23.6 小结
23.7 问与答
23.8 测验
23.8.1 问题
23.8.2 答案
23.9 练习
第24章 结合使用Backbone.js与Node.js
24.1 什么是Backbone.js
24.2 Backbone.js如何工作
24.3 一个简单的Backbone.js视图
24.4 使用Backbone.js创建记录
24.5 小结
24.6 问与答
24.7 测验
24.7.1 问题
24.7.2 答案
24.8 练习
……
猜您喜欢