Node.js开发指南pdf

2019年1月9日21:53:50 发表评论 182
摘要

《Node.js开发指南》中Node.js是一种新兴的开源技术,它将JavaScript从Web浏览器移植到常规的服务器端,使用Chrome的V8虚拟机来解释和执行JavaScript代码,能用于构建高性能、高可扩展的服务器和客户端应用,以实现真正“实时的Web应用”。 Node.js在GitHub上吸引了大量开发人员的注意,目前已经有不少可以直接引用的优秀模块。

Node.js开发指南 内容简介

《图灵原创:Node.js开发指南》首先简要介绍Node.js,然后通过各种示例讲解Node.js的基本特性,再用案例式教学的方式讲述如何用Node.js进行Web开发,接着探讨一些Node.js进阶话题,最后展示如何将一个Node.js应用部署到生产环境中。

《图灵原创:Node.js开发指南》面向对Node.js感兴趣,但没有基础的读者,也可供已了解Node.js,并对Web前端/后端开发有一定经验,同时想尝试新技术的开发者参考。

Node.js开发指南 目录

第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

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

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服务器

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框架

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 下一步

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编程规范

索引

Node.js开发指南 精彩文摘

Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台。它可以让 JavaScript 脱离浏览器的束缚运行在一般的服务器环境下,就像运行 Python、Perl、PHP、Ruby 程序一样。你可以用 Node.js 轻松地进行服务器端应用开发,Python、Perl、PHP、Ruby 能做的事情 Node.js 几乎都能做,而且可以做得更好。

Node.js 是一个为实时Web(Real-time Web)应用开发而诞生的平台,它从诞生之初就充分考虑了在实时响应、超大规模数据要求下架构的可扩展性。这使得它摒弃了传统平台依靠多线程来实现高并发的设计思路,而采用了单线程、异步式I/O、事件驱动式的程序设计模型。这些特性不仅带来了巨大的性能提升,还减少了多线程程序设计的复杂性,进而提高了开发效率。

Node.js 最初是由 Ryan Dahl 发起的开源项目,后来被 Joyent 公司注意到。Joyent 公司将 Ryan Dahl 招入旗下,因此现在的 Node.js 由 Joyent 公司管理并维护。尽管它诞生的时间(2009年)还不长,但它的周围已经形成了一个庞大的生态系统。Node.js 有着强大而灵活的包管理器(node package manager,npm),目前已经有上万个第三方模块,其中有网站开发框架,有 MySQL、PostgreSQL、MongoDB 数据库接口,有模板语言解析、CSS 生成工具、邮件、加密、图形、调试支持,甚至还有图形用户界面和操作系统 API工具。由 VMware 公司建立的云计算平台 Cloud Foundry 率先支持了 Node.js。2011年6月,微软宣布与 Joyent 公司合作,将 Node.js 移植到 Windows,同时 Windows Azure 云计算平台也支持 Node.js。Node.js 目前还处在迅速发展阶段,相信在不久的未来它一定会成为流行的Web应用开发平台。让我们从现在开始,一同探索 Node.js 的美妙世界吧!

1.1 Node.js 是什么

Node.js 不是一种独立的语言,与 PHP、Python、Perl、Ruby 的“既是语言也是平台”不同。Node.js 也不是一个 JavaScript 框架,不同于 CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为脚本语言世界的一等公民,在服务端堪与 PHP、Python、Perl、Ruby 平起平坐。

Node.js 是一个划时代的技术,它在原有的 Web 前端和后端技术的基础上总结并提炼出了许多新的概念和方法,堪称是十多年来 Web 开发经验的集大成者。Node.js 可以作为服务器向用户提供服务,与 PHP、Python、Ruby on Rails 相比,它跳过了 Apache、Nginx 等 HTTP 服务器,直接面向前端开发。Node.js 的许多设计理念与经典架构(如 LAMP)有着很大的不同,可提供强大的伸缩能力,以适应21世纪10年代以后规模越来越庞大的互联网环境。

Node.js 与 JavaScript

说起 JavaScript,不得不让人想到浏览器。传统意义上,JavaScript 是由 ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成的,而 Mozilla 则指出 JavaScript 由 Core JavaScript 和 Client JavaScript 组成。之所以会有这种分歧,是因为 JavaScript 和浏览器之间复杂的历史渊源,以及其命途多舛的发展历程所共同造成的,我们会在后面详述。我们可以认为,Node.js 中所谓的 JavaScript 只是 Core JavaScript,或者说是 ECMAScript 的一个实现,不包含 DOM、BOM 或者 Client JavaScript。这是因为 Node.js 不运行在浏览器中,所以不需要使用浏览器中的许多特性。

Node.js 是一个让 JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、包、操作系统 API、网络通信等 Core JavaScript 没有或者不完善的功能。历史上将 JavaScript 移植到浏览器外的计划不止一个,但Node.js 是最出色的一个。随着 Node.js 的成功,各种浏览器外的 JavaScript 实现逐步兴起,因此产生了 CommonJS 规范。CommonJS 试图拟定一套完整的 JavaScript 规范,以弥补普通应用程序所需的 API,譬如文件系统访问、命令行、模块管理、函数库集成等功能。CommonJS 制定者希望众多服务端 JavaScript 实现遵循 CommonJS 规范,以便相互兼容和代码复用。Node.js 的部份实现遵循了CommonJS规范,但由于两者还都处于诞生之初的快速变化期,也会有不一致的地方。

Node.js 的 JavaScript 引擎是 V8,来自 Google Chrome 项目。V8 号称是目前世界上最快的 JavaScript 引擎,经历了数次引擎革命,它的 JIT(Just-in-time Compilation,即时编译)执行速度已经快到了接近本地代码的执行速度。Node.js 不运行在浏览器中,所以也就不存在 JavaScript 的浏览器兼容性问题,你可以放心地使用 JavaScript 语言的所有特性。

图书网:Node.js开发指南pdf

此资源下载价格为5图书币,请先
会员充值优惠:充50图书币送30图书币。(本优惠每人仅限一次)
  • 我的微信
  • 扫一扫加好友
  • weinxin
  • 微信公众号
  • 扫一扫关注
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: