Node.js 实战 第2版

内容简介

本书是 Node.js 的实战教程,涵盖了为开发产品级 Node 应用程序所需要的一切特性、技巧以及相关理念。从搭建 Node 开发环境,到一些简单的演示程序,到开发复杂应用程序所必不可少的异步编程。D2 版介绍了全栈开发者所需的全部技术,包括前端构建系统、选择 Web 框架、在 Node 中与数据库的交互、编写测试和部署 Web 程序,等等。

  • 前端系统构建
  • 服务器端框架选择
  • 如何用 Express 从头开始搭建 Web 程序
  • 与数据库的交互
  • 掌握非阻塞 I/O
  • Node 的事件轮询
  • 测试与部署
  • Web 程序模板
  • 用 Node 开发命令行工具和桌面软件

作者简介

亚历克斯 · 杨(Alex Young),经验丰富的 Web 开发者,广受欢迎的 JavaScript 社区 DailyJS 创始人。目前任职于 Apple。另著有《Node.js 硬实战》。

布拉德利 · 马克(Bradley Meck),TC39 和 Node.js 基金会成员。业余时间醉心于为 JavaScript 制作工具、园艺和指导学生。

麦克 · 坎特伦(Mike Cantelon),Node.js 核心框架贡献者,Node 社区活跃分子,培训师和演讲人。

蒂姆 · 奥克斯利(Tim Oxley),JavaScript(Node.js/React)自由撰稿人。

马克 · 哈特(Marc Harter),Node.js 核心框架贡献者。

T. J. 霍洛瓦丘(T.J.Holowaychuk),参与开发了很多 Node.js 模块,包括流行的 Express 框架。

内森 · 拉伊利赫(Nathan Rajlich),大名鼎鼎的 TooTallNate,Node.js 核心代码提交者。

本书内容

前言

《Node.js实战》的第1版出版之后发生了很多事情,io.js 问世,治理模型也发生了翻天覆地的变化。Node 的包管理器孵化出了一家成功的新公司——npm,Babel 和 Electron 等技术也改变了 Node 开发。

虽然 Node 的核心库变化不大,但 JavaScript 变了,大多数开发人员都用上了 ES2015 的功能特性,所以我们改写了上一版中的所有代码,用上了箭头函数、常量和解构。因为 Node 的库和自带的工具看起来仍然和 4.x 之前的版本差不多,所以我们在这一版的更新中瞄准了社区。

为了体现 Node 开发人员在实际工作中面临的问题,本书在结构上进行了调整。Express 和 Connect 的分量轻了,涉及的技术范围广了。书中介绍了全栈开发者所需的全部技术,包括前端构建系统、选择 Web 框架、在 Node 中与数据库的交互、编写测试和部署 Web 程序。

除了 Web 开发,本书还有编写命令行程序和 Electron 桌面程序的章节,让你充分利用自己的 Node 和 JavaScript 技能。

本书不仅要向你介绍 Node 和它的生态系统,还想尽可能让你了解那些影响 Node 发展的背景知识,比如一般在 Node 和 JavaScript 书籍中并不介绍的 Unix 哲学和如何正确、安全地使用数据库。希望这些知识能拓宽你的眼界,加深你对 Node 和 JavaScript 的理解,帮你在面临新的问题时找到解决办法。

致谢

首先要感谢本书上一版的作者们,他们做出了巨大贡献:Mike Cantelon、Marc Harter、T.J. Holowaychuk 和 Nathan Rajlich。还要感谢 Manning 的团队,如果没有他们的鼓励,这一版也不会问世。感谢我的策划编辑 Cynthia Kane,在更新原内容的漫长过程中让我保持专注。如果没有 Doug Warren 详尽的技术校对,本书及其中代码的正确率恐怕连现在的一半都不到。最后要感谢在写作及开发过程中提供反馈的评审人员:Austin King、Carl Hope、Chris Salch、Christopher Reed、Dale Francis、Hafiz Waheedud din、HarinathMallepally、Jeff Smith、Marc-Philippe Huget、Matthew Bertoni、Philippe Charrieère、Randy Kamradt、Sander Rossel、Scott Dierbeck和William Wheeler。

关于本书

本书第1版重点介绍了如何用 Web 框架 Connect 和 Express 开发 Web 程序。第2版则根据 Node 开发的变化做了调整。我们会介绍前端构建系统、流行的 Node Web 框架,以及如何用 Express 从头开始搭建 Web 程序,还会讲到自动化测试和 Node Web 程序的部署。

因为用 Node 做的命令行开发者工具和用 Electron 做的桌面端程序越来越多,所以本书专门用了两章的篇幅分别介绍这两块内容。

本书假定你熟悉基本的编程概念。但考虑到有些开发人员还没有接触过新的 JavaScript,所以第1章将会介绍 JavaScript 和 ES2015。

路线图

本书分为三部分。

第一部分介绍 Node.js,讲解用它进行开发所需的基础技术。第1章介绍了 JavaScript 和 Node 的特性,通过示例代码一步步进行讲解。第2章介绍了基本的 Node.js 编程概念。第3章完整地演示了如何从头开始搭建一个 Web 程序。

第二部分重点介绍 Web 开发,内容最多,篇幅也最长。第4章是前端构建系统的揭秘。如果你在项目中用到过 Webpack 或 Gulp,但并没有真正掌握它们,那么可以学习一下这一章的内容。第5章介绍了 Node 中最流行的服务器端框架。第6章详细介绍了 Connect 和 Express。第7章是模板语言,它可以提升服务端代码的编写效率。大多数 Web 程序都需要数据库,所以第8章介绍了很多种可以用在 Node 中的数据库,关系型和 NoSQL 都有涉及。第9章和第10章讲了测试和部署,包括云端部署。

第三部分是 Web 程序开发之外的内容。第11章讲了如何用 Node 搭建命令行程序,创建出开发人员熟悉的文字界面。如果你喜欢用 Node 搭建像 Atom 一样的桌面程序,可以看看介绍 Electron 的第12章。

本书还有三个附录。附录 A 讲了如何在 macOS 和 Windows 上安装 Node,附录 B 详细介绍了如何实现网络内容抓取,附录 C 介绍了 Connect 的官方中间件组件。

编码规范及下载

书中的代码遵循通用 JavaScript 规范。缩进用空格,不用制表符。尽量不要让一行代码的长度超过80个字符。很多代码清单中都加了注释,指出了其中的关键概念。

每行一条语句,简单语句后面加分号。代码块放在大括号中,左括号放在代码块开始行的末尾处,右括号的缩进跟代码块开始行的缩进保持一致,在垂直方向上对齐。

书中示例的源码请至图灵社区本书主页http://www.ituring.com.cn/book/1993随书下载处下载。

本书论坛

购买了英文版的读者可以免费访问 Manning 出版社运营的专享论坛,你可以在那里发表对图书的评论,提出技术问题,寻求作者和其他读者的帮助。

Manning 的初衷是为读者间、读者与作者间提供一个交流场所。作者完全可以根据个人意愿进行参与,在论坛上所做的贡献是没有报酬的。所以我们建议你尽可能提出一些有挑战性的问题,以激发作者的兴趣!只要书还在发行,出版社的网站上就会有关于书的论坛和之前讨论过的内容的归档。

读者也可登录图灵社区本书主页http://www.ituring.com.cn/book/1993提交反馈意见和勘误。

第一部分 Node 基础知识介绍

现如今,Node 已经出落成了一个成熟的 Web 开发平台。本书第1章到第3章介绍 Node 的主要特性,包括如何使用 npm 和 Node 的核心模块。你还将看到如何在 Node 上使用现代版 JavaScript,以及如何从头开始构建一个 Web 应用程序。看完这些章节之后,对于 Node 能做什么,以及该如何创建自己的项目,你将会有非常深刻的认识。

第1章 欢迎进入 Node.js 的世界
第2章 Node 编程基础
第3章 Node Web 程序是什么
第二部分 Node 的 Web 开发
第4章 前端构建系统
第5章 服务器端框架
第6章 深入了解 Connect 和 Express
第7章 Web程序的模板
第8章 存储数据
第9章 测试 Node 程序
第10章 Node 程序的部署及运维
第三部分 超越 Web 开发
第11章 编写命令行程序
第12章 用 Electron 征服桌面
附录A 安装 Node
附录 B 自动化的网络抓取
附录 C Connec 的官方中间件

阅读全文: http://gitbook.cn/gitchat/geekbook/5bbd7dc39ccd7c1379f3060b

你可能感兴趣的:(Node.js 实战 第2版)