《Node.js开发指南》试读:前  言

这本书讲了什么 本书是一本 Node.js 的入门教程,写给想了解 Node.js 的开发人员。我的目标是使读者通过阅读本书,学会使用 Node.js 进行 Web 后端开发,同时能熟悉事件驱动的异步式编程风格,以便进一步了解 Node.js 的许多高级特性,以及它所应用的更多领域。 本书共6章,分别讨论了 Node.js的背景、安装和配置方法、基本特性、核心模块以及一些进阶话题。除此之外,还有2个附录,分别介绍了JavaScript 的高级特性和 Node.js 编程规范。下面简要概述各章的主要内容。 第1章“Node.js 简介” 这一章概述了什么是Node.js。读过这章后,你将对 Node.js 有一个基本的认识,同时了解它与 JavaScript 的深厚渊源。 第2章“安装和配置Node.js” 这一章讲述了如何在各种不同的环境下安装和配置 Node.js 及其基本运行环境,同时你你可以了解到如何编译Node.js,以及多版本管理工具。 第3章“Node.js 快速入门” 这一章讲解Node.js的基础知识,你将会学到如何使用 Node.js 的基本环境和工具进行开发、运行和调试。同时,还会讲解异步式I/O与事件式编程的一些重要概念,这些概念将会贯穿全书。此外这一章还详细介绍了 Node.js 的模块和包的系统,这些都是开发中经常会碰到的内容。 第4章“Node.js 核心模块” 这一章以全局对象、基本工具、事件发射器、文件系统和 HTTP 为代表,介绍了 Node.js 最常用的核心模块。你将会在后面的章节及以后的开发中经常与这些模块打交道。 第5章“使用 Node.js 进行 Web 开发” 这一章是本书的实践性章节,一步一步教你如何从零开始用 Express 框架创建一个网站,实现路由控制、模板解析、会话管理、数据库访问等功能,最终创建一个 Web 2.0 微博网站。 第6章“Node.js 进阶话题” 这一章涉及几个进阶话题,包括模块加载机制、控制流分析和优化、生产环境的应用部署等内容,最后还讨论了 Node.js 适用的范围,帮助读者在今后的开发中作出更好的取舍。 附录A“JavaScript 的高级特性” 这个附录介绍了 JavaScript 的一些高级特性,如函数作用域、闭包和对象的操作等内容。这些特性在浏览器端的JavaScript 开发中并没有受到应有的重视,而在 Node.js 中却十分常见,阅读这个附录可以帮助你更好地理解并运用 JavaScript 进行复杂的网站开发。 附录B“Node.js 编程规范” 这个附录介绍了 Node.js 代码风格的一些约定,遵守这些约定可以让你的代码更清晰、易懂,同时也有利于接口开发的统一。该附录还分享了一些开发经验,可以让程序避免很多意外错误和性能损失。 谁应该阅读本书 本书的目标读者是想要学习 Node.js,但没有任何系统的经验的开发者。如果你听说过 Node.js,并被它许多神奇的特性吸引,那么这本书就是为你准备的。通过阅读本书,你可以对 Node.js 有全面的认识,学会如何用 Node.js 编程,了解事件驱动、异步式 I/O 的编程模式,同时还可以掌握一些使用 JavaScript 进行函数式编程的方法。 本书假设读者已经学过至少一门编程语言,对基本的程序设计语言概念(如变量、函数、递归、对象)有所了解。如果你是首次学习编程语言,我建议你先学一门常见的且容易入门的语言,如 Java 或 C。 如何阅读本书 熟悉浏览器端 JavaScript 的读者将很容易学会 Node.js 的许多特性,包括事件式编程、闭包、回调函数等,因为这些特性已经在浏览器中被广泛应用。同时,你还可以学到 Node.js 在Web 开发中的服务器端与浏览器端的结合方式,这无论是对前端设计还是后端开发都是有利的。你还会对 JavaScript 有一个全新的认识,因为服务端的 JavaScript 中没有 DOM 和 BOM,也不存在浏览器之间的兼容性问题。 不熟悉 JavaScript但是了解C、Java、C++、C#的读者将很容易学会 JavaScript 的语言特性及 Node.js 的基本机制,如模块和包。你需要关注的仅仅是 JavaScript 语言的特别之处,以及服务器端开发中需要注意的一些要点。 已经非常了解 Web 后端开发(如 PHP、ASP.net、Ruby on Rails、Django 等)的读者,本书将通过 Node.js 给你一个不同的视野。你会发现 Node.js 和这些传统的框架有很大的区别,因为它使用了事件式编程和异步 I/O,所以你需要改变一些已有的思维方式。同时,你还能享受到 Web 前后端紧密配合带来的新鲜感,并可能对 Ajax 有全新的认识。 如果是完全没有接触过JavaScript的读者,那么我建议你看完本书的前两章以后,花点时间到http://www.w3school.com.cn/js/网站看看 JavaScript 的入门教程。你只要了解基础知识就行了,本书并不要求你学成一个JavaScript专家。在这之后请阅读本书的附录A,了解一下实际开发中可能会遇到的稍微复杂的语言特性。附录A是为本书量身定做的,你可以从中很快地学会 Node.js 经常使用到的那些特性。如果你想更加深入系统地学习JavaScript,推荐阅读Mozilla JavaScript指南http://developer.mozilla.org/en/JavaScript/Guide。 本书从第3章开始,将介绍如何用 Node.js 开发,你应该仔细阅读这一章。第4章是一些最基本的模块介绍,涉及Node.js 模块的基本风格,这可能会帮助你理解后面介绍的 API。第5章是一个真枪实弹的实战演练,跟随这一章的每个步骤你就可以用 Node.js 实现一个真正的 Web 应用,体验开发的成就感。第6章则是一些进阶话题,你会在这里接触到 Node.js的一些深层次概念,同时你还将学会如何真正部署 Node.js 应用。 本书的每一章最后都有一个参考资料小节,里面有很多有价值的资料,如果感兴趣不妨继续深入阅读。在阅读本书的过程中,我建议你抽时间看看附录B,在这里你会了解到Node.js 开发的一些编程规范,写出符合社区风格的漂亮程序。 如何学习 Node.js 通读本书,你将会学到 Node.js 的很多东西,但如果想完全掌握它,我建议你亲自尝试运行本书中的每一段代码。本书的所有代码可以在http://www.byvoid.com/project/node上找到。 除此之外,你最好自己用 Node.js 做一个项目,因为通过实践你会遇到很多问题,解决这些问题可以大大加深对 Node.js 的理解。 注意,不要忘了互联网网上的资源,比如Node.js 的官方 API 文档http://nodejs.org/api/。我强烈推荐你去 CNodeJS 社区看看http://cnodejs.org/,这里汇集了许许多多中国优秀的Node.js 开发者。他们每天都在讨论着大量有关Node.js各个方面的话题,你可以在上面获得很多帮助。同时,CNodeJS 社区的网站也是用 Node.js 写成的,而且是开源的,它是一个非常好的让你了解如何用 Node.js 开发网站的实例。 体例说明 本书正文中出现的代码引用都会以等宽字体标出,例如: console.log('Node.js')。代码段会以段落的形式用等宽字体显示,例如: function hello() { console.log('Hello, world!'); } 在正文之中,偶尔还会穿插一些提示和警告,例如: 这是一个提示。 这是一个警告。 致谢 感谢对这本书提出宝贵意见的朋友们,他们是牟瞳、李垚 、周越、钟音、萧骐 、杨旭东、孙嘉龙、范泽一、宋文杰、续本达、田劲锋、孟亚兰和李宇亮。他们为本书的结构、内容、语言表述等方面给出了许多有建设性的意见。 感谢 CNodeJS 社区的贾超、田永强和微软亚洲研究院的杨懋,以及VMware公司的柴可夫。他们不仅帮助审阅了本书,还解决了许多技术问题,给这本书提出了许多改进方案。 感谢弓辰开发的 Rime 输入法 ,我用它完成了本书的创作。 还要感谢我的朋友徐可可,图灵公司的杨海玲、谢工、王军花以及各位编辑,她们给我提供了许多帮助和鼓舞,没有她们的激励,我很难顶着巨大的学业压力坚持写完这本书。

>Node.js开发指南

Node.js开发指南
作者: 郭家寶(BYVoid)
isbn: 7115283990
书名: Node.js开发指南
页数: 178
定价: 45.00元
出版社: 人民邮电出版社
装帧: 平装
出版年: 2012-7