文档章节

读书《Node.js开发指南》

如比如比
 如比如比
发布于 2015/04/12 18:56
字数 1098
阅读 38
收藏 0

第1 章 Node.js 简介

1.1 Node.js 是什么

1.2 Node.js 能做什么

1.3 异步式 I/O 与事件驱动

1.4 Node.js 的性能

1.4.1 Node.js 架构简介

1.4.2 Node.js 与 PHP + Nginx

Snoopyxd 详细对比了 Node.js 与 PHP+Nginx 组合,结果显示在3000并发连接、30秒的测试下,输出“hello world”请求:

 PHP 每秒响应请求数为3624,平均每个请求响应时间为0.39秒;

 Node.js 每秒响应请求数为7677,平均每个请求响应时间为0.13秒。

而同样的测试,对MySQL查询操作:

 PHP 每秒响应请求数为1293,平均每个请求响应时间为0.82秒;

 Node.js 每秒响应请求数为2999,平均每个请求响应时间为0.33秒。


1.5 JavaScript 简史

1.5.1 Netscape 与 LiveScript

1.5.2 Java 与 Javascript

1.5.3 微软的加入—— JScript

1.5.4 标准化—— ECMAScript

1.5.5 浏览器兼容性问题

1.5.6 引擎效率革命和 JavaScript 的未来

1.6 CommonJS

1.6.1 服务端 JavaScript 的重生

1.6.2 CommonJS 规范与实现.

1.7 参考资料


第2 章 安装和配置Node.js

2.1 安装前的准备

2.2 快速安装

2.2.1 Microsoft Windows 系统上安装Node.js

在 Windows 上安装 Node.js 十分方便,你只需要访问http://nodejs.org,点击Download链

接,然后选择Windows Installer,下载安装包。


2.2.2 Linux 发行版上安装Node.js

2.2.3 Mac OS X 上安装Node.js

2.3 编译源代码

2.3.1 在 POSIX 系统中编译

2.3.2 在 Windows 系统中编译

2.4 安装Node 包管理器

2.5 安装多版本管理器

2.6 参考资料


第3 章 Node.js 快速入门

3.1 开始用 Node.js 编程

3.1.1 Hello World

3.1.2 Node.js 命令行工具

3.1.3 建立 HTTP 服务器

让我们创建一个 HTTP 服务器吧。建立一个名为 app.js 的文件,内容

为:

//app.js

var http = require('http');

http.createServer(function(req, res) {

res.writeHead(200, {'Content-Type': 'text/html'});

res.write('<h1>Node.js</h1>');

res.end('<p>Hello World</p>');

}).listen(3000);

console.log("HTTP server is listening at port 3000.");

接下来运行 node app.js命令,打开浏览器访问 http://127.0.0.1:3000,


3.2 异步式 I/O 与事件式编程

3.2.1 阻塞与线程

3.2.2 回调函数

3.2.3 事件

3.3 模块和包

3.3.1 什么是模块

3.3.2 创建及加载模块

3.3.3 创建包

3.3.4 Node.js 包管理器

3.4 调试

3.4.1 命令行调试

3.4.2 远程调试

3.4.3 使用 Eclipse 调试 Node.js

3.4.4 使用 node-inspector 调试Node.js

3.5 参考资料


第4 章 Node.js 核心模块

4.1 全局对象

4.1.1 全局对象与全局变量

4.1.2 process

4.1.3 console

4.2 常用工具 util

4.2.1 util.inherits

4.2.2 util.inspect

4.3 事件驱动 events

4.3.1 事件发射器

4.3.2 error 事件

4.3.3 继承 EventEmitter

4.4 文件系统 fs

4.4.1 fs.readFile

4.4.2 fs.readFileSync

4.4.3 fs.open

4.4.4 fs.read

4.5 HTTP 服务器与客户端

4.5.1 HTTP 服务器

4.5.2 HTTP 客户端

4.6 参考资料


第5 章 使用Node.js 进行Web 开发

5.1 准备工作

5.1.1 使用http 模块

5.1.2 Express 框架

Express ( http://expressjs.com/ ) 除了为 http 模块提供了更高层的接口外,还实现了许多功能,其中包括:

 路由控制;

 模板解析支持;

 动态视图;

 用户会话;

 CSRF 保护;

 静态文件服务;

 错误控制器;

 访问日志;

 缓存;

 插件支持。

5.2 快速开始

5.2.1 安装 Express

5.2.2 建立工程

5.2.3 启动服务器

5.2.4 工程的结构

5.3 路由控制

5.3.1 工作原理

5.3.2 创建路由规则

5.3.3 路径匹配

5.3.4 REST 风格的路由规则

5.3.5 控制权转移

5.4 模板引擎

5.4.1 什么是模板引擎

5.4.2 使用模板引擎

5.4.3 页面布局

5.4.4 片段视图

5.4.5 视图助手

5.5 建立微博网站

5.5.1 功能分析

5.5.2 路由规划

5.5.3 界面设计

5.5.4 使用Bootstrap

5.6 用户注册和登录

5.6.1 访问数据库

5.6.2 会话支持

5.6.3 注册和登入

5.6.4 页面权限控制

5.7 发表微博

5.7.1 微博模型

5.7.2 发表微博

5.7.3 用户页面

5.7.4 首页

5.7.5 下一步

https://github.com/BYVoid/microblog

5.8 参考资料


第6 章 Node.js 进阶话题

6.1 模块加载机制

6.1.1 模块的类型

6.1.2 按路径加载模块

6.1.3 通过查找node_modules 目录加载模块

6.1.4 加载缓存

6.1.5 加载顺序

6.2 控制流

6.2.1 循环的陷阱

6.2.2 解决控制流难题

6.3 Node.js 应用部署

6.3.1 日志功能

6.3.2 使用cluster 模块

6.3.3 启动脚本

6.3.4 共享80 端口

6.4 Node.js 不是银弹

6.5 参考资料


附录A JavaScript 的高级特性

附录B Node.js 编程规范

索引


© 著作权归作者所有

如比如比
粉丝 127
博文 178
码字总数 286951
作品 0
日本
程序员
私信 提问
Node.js的学习资源、教程和工具

这篇文章编译整理自Stack Overflow的一个如何开始学习Node.js的Wiki帖,这份资源列表在SO上面浏览接近60万次,数千个收藏和顶。特意整理发布到这里,其中添加了部分中文参考资料。 学习指南和...

90后爱国
2015/07/21
184
0
10+ 最佳的 Node.js 教程结合实例

如果你正在找Node.js的学习资料及指南,那么请继续(阅读),我们的教程将会覆盖即时聊天应用、API服务编写、投票问卷应用、人物投票APP、社交授权、 Node.js on Raspberry Pi等等。 以下是N...

noeticforce
2016/06/21
7.2K
10
学习Node.js的电子书大全

在这里,与大家分享一批很有用的 Node.js 的电子书资源。Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写...

jay603
06/21
179
0
整理了一些免费的编程中文书籍

在 github 上整理了一些免费的编程中文书籍 https://github.com/justjavac/free-programming-books-zh_CN 如果谁还有别的书籍,可在此留言。 语言无关类 WEB服务器 Nginx开发从入门到精通 (源...

justjavac
2013/11/04
1K
2
快速使用node.js进行web开发

原文:http://www.cnblogs.com/myzhibie/p/4458584.html?utmsource=tuicool&utmmedium=referral 首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将nod...

adbug
2016/10/09
44
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部