Node Web开发前言_Node Web开发前言试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > web > Node Web开发 > 前言

Node Web开发——前言

前  言 欢迎光临Node(也叫Node.js)开发的世界。Node是一种新兴的软件开发平台,它将JavaScript从Web浏览器移植到常规的服务器端。Node运行在Chrome的高速V8引擎上,并附带了一个快速、健壮的异步网络I/O组件库。Node主要用于构建高性能、高可扩展的服务器和客户端应用,以实现真正“实时的Web应用”。 在经过数年尝试用Ruby和其他语言实现Web服务器组件之后,Ryan Dahl在2009年开发了Node平台。这个探索使他从使用传统的、基于线程的并发模型转向使用事件驱动的异步系统,因为后者更简单(多线程系统以难于开发著称),系统开销更低(与对每个连接维护一个线程相比),因而能提高相应的速度。Node旨在提供一个“创建可扩展网络服务器的简单方式”。这个设计受到了Event Machine(Ruby)和Twisted框架(Python)的影响,并和它们有些类似。 本书致力于讲述如何用Node构建Web应用。我们会在书中介绍快速学习Node时一些必需的重要概念。本书会教你编写真正的应用,剖析其工作原理,并讨论如何在程序中应用这些理念。我们需要安装Node和npm,学习安装和开发npm包及Node模块。此外,我们还会开发一些应用,度量长时间运行的计算在Node的事件循环中的响应能力,介绍将高负载的工作分派到多个服务器的方法,并介绍Express框架。 本书内容 第1章“Node入门”,介绍了Node平台。这一章讲述了Node的用途、技术构架上的选择、Node的历史和服务器端JavaScript的历史,然后介绍为什么JavaScript仍将受困于浏览器。 第2章“安装并配置Node”,介绍如何配置Node开发环境,包括多种从源码编译和安装的场景,还会简单介绍在开发环境中如何部署Node。 第3章“Node模块”,解释了作为开发Node应用基本单位的模块。我们会全面介绍并开发Node模块。然后进一步介绍Node包管理器npm,给出一些使用npm管理已安装包的例子,还将涉及开发npm包并将其发布出来供他人使用。 第4章“几种典型的简单应用”,在读者已经有一些Node基础知识后,开始探索Node应用的开发。我们会分别使用Node、Connect中间件框架和Express应用框架开发一个简单的应用。虽然应用比较简单,但是我们可以通过其开发探索Node的事件循环,处理长时间的运算,了解异步和同步算法以及如何将繁重的计算交给后台服务器。 第5章“简单的Web服务器、EventEmitter和HTTP客户端”,介绍了Node里的HTTP客户端和服务器对象。我们会在开发HTTP服务器和客户端应用的同时全面深入介绍HTTP会话。 第6章“存取数据”,探讨大部分应用都需要的长期可靠的数据存储机制。我们会用SQL和MongoDB数据库引擎实现一个应用。在此期间,我们将用Express框架实现用户验证,更好地展示出错页面。 阅读要求 目前,我们一般会采用源码的方式安装Node,这种方式可以很好地用在类Unix和符合POSIX标准的系统上。当然,在接触Node之前,谦逊的心态是必需的,但最为重要的事情还是让大脑供血充足。 从源码安装的方式需要一个类Unix或类POSIX系统(比如Linux、Mac、FreeBSD、OpenSolaris等)、新的C/C++编译器、OpenSSL库和Python 2.4或更新版本。 Node程序可以用任何文本编辑器来写,不过一个能处理JavaScript、HTML、CSS等的文本编辑器会更有帮助。 尽管本书介绍的是Web应用开发,但你并不需要拥有一个Web服务器。Node有自己的Web服务器套件。 读者对象 本书写给所有想在一个新的软件平台上开拓新编程模式的软件工程师。 服务器端程序员或许能看到一些新奇的概念,对Web应用开发产生新的理解。JavaScript是一门强大的语言,Node的异步特性发挥了JavaScript的优势。 浏览器端JavaScript“攻城师”或许会觉得在Node中使用JavaScript和编写与DOM操作无关的JavaScript代码很有趣。(Node平台上没有浏览器,所以也没有DOM,除非你安装JSDom。) 虽然本书各章内容由浅入深,循序渐进,但到底如何阅读本书悉听尊便。 本书需要读者知道如何编写软件,并且对JavaScript等编程语言有所了解。 排版约定 在本书中,读者会发现不同的文本样式。下面是这些样式的示例和说明。 正文中的代码使用特殊字体:“http对象封装HTTP协议,它的http.createServer方法会创建一个完整的Web服务器,而.listen方法用于监听特定的端口。” 代码块是这样的: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(8124, "127.0.0.1"); console.log('Server running at http://127.0.0.1:8124/'); 代码块中会加粗突出显示代码,这表示需要读者格外注意: var util = require('util'); var A = "a different value A"; var B = "a different value B"; var m1 = require('./module1'); util.log('A='+A+' B='+B+' values='+util.inspect(m1.values())); 命令行的输入输出是这样的: $ sudo /usr/sbin/update-rc.d node defaults 新术语及重要词汇都会加粗显示。你将在屏幕上看到的文字,比如菜单或对话框中的文字,会这样在正文中提到:“一个真正安全的系统至少会有用户名和密码输入框。不过,我们这里就直接让用户单击Login按钮了。” 读者反馈 我们始终欢迎来自读者的反馈意见。我们想知道读者对本书的看法,读者喜欢哪些内容或不喜欢哪些内容。读者真正深有感触的反馈,对于我们开发图书产品至关重要。 一般的反馈可以发邮件到feedback@packtpub.com,但请在邮件标题中注明相关书名。 如果有关于新书的建议,你可以登录www.packtpub.com,填写SUGGEST A TITLE表单或者向suggest@packtpub.com发送邮件。 如果你在某个领域积累了丰富的经验,想写一本书,或者愿意与人合著或审校某本书,请阅读www.packtpub.com/authors上的作者指南。 读者服务 现在你已是Packt引以为荣的读者了,因此我们特别要交待几件事,以保障你作为读者的最大权益。 下载示例代码 在www.packtpub.com通过自己的账号购买图书的读者,可以下载所有已购买图书的代码 。如果这本书是你在其他地方购买的,访问www.packtpub.com/support并注册,我们将通过电子邮件将相关文件发送给你。 勘误 虽然我们会全力确保本书内容的准确性,但错误仍在所难免。如果你发现了本书中的错误(包括文字和代码错误),而且愿意向我们提交这些错误,我们会十分感激。这样一来,不仅可以减少其他读者的疑虑,也有助于本书后续版本的改进。要提交错误,请访问www. packtpub.com/support,选择相关图书,单击errata submission form链接,然后输入勘误信息。经过验证后,你提交的勘误信息就会添加到已有的勘误列表中。要查看已有的勘误信息,请访问www.packtpub.com/support并选择相关图书。 反盗版声明 网上各种形式的盗版是一直存在的问题。Packt非常重视版权和许可证的保护。如果你在网上遇到以任何形式非法复制的我方作品,请尽快告知我们相关的地址或网站名称,以便我们采取补救措施。 请把邮件发送到copyright@packtpub.com,并在邮件里注明涉嫌侵权资料的链接。 感谢你帮助我们保护作者和我们为你带来有价值内容的能力。 疑难解答 如果对本书的某些方面有疑问,请将电子邮件发送到questions@packtpub.com,我们会尽力解决。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Node Web开发》其他试读目录

• 第一章:Node入门
• 前言 [当前]
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •