Node与Express开发[试读]
1.1 JavaScript革命
1.1 JavaScript革命 在介绍本书的主要内容之前,我首先介绍一些背景知识和历史沿革,也就是谈一谈JavaScript 和Node。 JavaScript 的时代真的来临了。最开始它只是一种粗陋的客户端脚本语言,但现在它不仅是客户端普遍使用的脚本语言,甚至还因为Node 的出现最终成为了服务器端脚本语言。 全部由JavaScript 组成的技术栈前景非常明朗:不再需要环境切换!你再也不需要从JavaScript 的思维模式切换到PHP、C#、Ruby 或Python(或其他任何服务器端语言)。此外,它还让前端工程师一跃进入了服务器端编程领域。当然,这并不是说服务器端编程只和语言有... 查看全部[ 1.1 JavaScript革命 ]
1.2 初识Express
Express 网站上是这样介绍Express 的:“精简的、灵活的Node.js Web 程序框架,为构建单页、多页及混合的Web 程序提供了一系列健壮的功能特性。”这究竟是什么意思呢?下面我们来逐一解读一下。 • 精简 这是Express 最吸引人的特性之一。框架开发者经常会忘掉“少即是多”这一基本原则。Express 的哲学是在你的想法和服务器之间充当薄薄的一层。这并不意味着它不够健壮,或者没有足够的有用特性,而是尽量少干预你,让你充分表达自己的思想,同时提供一些有用的东西。 • 灵活 Express 哲学中的另一个关键点是可扩展。Express 提供了一个非常精简的框架,你可以... 查看全部[ 1.2 初识Express ]
1.3 Express简史
Express 的缔造者TJ Holowaychuk 说Express 是在Sinatra 的启发下创建的,后者是一个基于Ruby 的框架。Express 借鉴一个在Ruby 上构建的框架并不奇怪:Ruby 致力于让Web开发变得更快、更高效、更可维护,并衍生了大量的Web 开发方式。 除了Sinatra,Express 跟Connect 也有非常紧密的联系,Connect 是一个Node 的“插件”库。Connect 创造了“中间件”(middleware)这个术语来描述插入式的Node 模块,它能在不同程度上处理Web 请求。在版本4.0 之前,Express 一直是绑定Connect ... 查看全部[ 1.3 Express简史 ]
1.4 升级到Express 4.0
如果你用过Express 3.0,知道可以毫不费力地升级到Express 4.0 应该会很高兴。如果你刚接触Express,可以直接跳过这一节。对于用过Express 3.0 的读者,请注意以下几个重点。 • Connect 已经从Express 中去掉了,所以除了static 中间件,你需要自己安装相应的开发包(即connect)。与此同时,Connect 将一些中间件移到了它自己的包内,所以你可能要在npm 上搜一下,看看你需要的中间件到哪去了。 • body-parser 现在有自己的包了,它不再包含multipart 中间件,因而也关闭了一个重大的安全漏洞。现在可以放心使用body... 查看全部[ 1.4 升级到Express 4.0 ]
1.5 Node:一种新型Web服务器
从某种角度看,Node 跟其他流行的Web 服务器,比如微软的互联网信息服务(IIS)或Apache,有很多共同点。然而更有趣的是探究它的不同之处,所以我们先从讨论它的不同开始。 Node 实现Web 服务器的方式跟Express 很像,也非常精简。Node 的搭建和配置非常容易,不像IIS 或Apache 要花费多年的时间才能掌握。但要让Node 服务器在生产环境中发挥出最优性能,进行调优也绝非易事,只不过是配置选项更简单,也更直接了。 Node 和传统的Web 服务器之间的另一个主要区别是:Node 是单线程的。乍一看可能觉得这是一种倒退。但事实证明,这是天才之举。单线程极大地简化了W... 查看全部[ 1.5 Node:一种新型Web服务器 ]
1.6 Node的生态系统
当然,Node 处于这个技术栈的核心位置。就是它让JavaScript 从浏览器中分离出来,得以在服务器上运行,进而可以使用JavaScript 写成的框架(比如Express)。另外一个重要的组件是数据库,这将在第13 章中进行详细介绍。除了最简单的Web 程序,所有的程序都需要数据库,并且Node 生态系统中的数据库更多。 所有主流关系型数据库(MySQL、MariaDB、PostgreSQL、Oracle、SQL Server)的接口都有,这一点并不奇怪,因为忽视那些已经成熟的“巨无霸”太不明智了。然而Node 开发的出现带动了一种新式的数据库存储方式,这种方式被称为“NoSQL 数据... 查看全部[ 1.6 Node的生态系统 ]
1.7 授权
在开发Node 程序时,你可能会发觉自己要比以往更加关注授权问题(我肯定是这样)。Node 生态系统的美好也体现在大量可用的开发包上。然而那些包都有其自身的授权,甚至更糟,每个包可能还要依赖其他包,也就是说要明白你写的程序各部分的授权是很难的。 然而也存在一些好消息。Node 开发包中最常见的是MIT 授权,它是毫不费力的许可,几乎允许你做任何想做的事情,包括把开发包放到闭源的软件中。然而,你不能假定使用的所有包都是MIT 授权。 npm 中有几个包会试图帮你确定项目中每个依赖项的授权。在npm 中搜索license-sniffer 或license-spelunker。 尽管最常见的授... 查看全部[ 1.7 授权 ]
书名: Node与Express开发
作者: [美] Ethan Brown
出版社: 人民邮电出版社
译者: 吴海星 | 苏 文
出版年: 2015-1
页数: 276
定价: 69.00元
装帧: 平装
ISBN: 9787115380333