X hapi.js 实战
● 第6 章“使用Joi 验证”教你如何使用具有表现力的强大Joi 库来锁定API,对抗
恶意的数据输入。
● 第7 章“使用插件构建模块化应用”展示如何扩展hapi 以及如何把应用拆分成小
的可维护的插件包。
● 第8 章“充分利用缓存”教你如何利用浏览器和服务器端的缓存来增加应用负载。
第III 部分“创建健壮的应用”讲述如何确保你的应用是安全的、经过严格测试的、
远离bug 的。
● 第9 章“身份验证和安全”研究了验证用户身份的多种方式和一些通用的安全漏
洞防范技术。
● 第10 章“使用Lab、Code 和server.inject() 进行测试”教你书写简单强大的测试
去探查应用的每个角落。
● 第11 章“投入生产环境及更多相关内容”帮助将你的应用投入生产环境,并提供
一些出错时的建议和技术。
有两个附录。附录A 提供了补充信息,包括下载安装Node 和npm。附录B 介绍了版
本号,包含了对本书用到的包的说明。
关于代码
本书包含了很多源代码示例,有带编号的代码清单,也有行内的普通文本。在两种例
子中,源代码用等宽字体格式化以区别于普通文字。有时代码为粗体,用来高亮显示特别
重要或与周边讨论有关的代码。
多数情况下,源代码被重新格式化了;我们加入了折行和修正的缩进以适应书中可用
的页面空间。在极少数情况下,这样还不够,代码清单包含了续行符 。此外,当代码以
文本描述时,源代码中的注释通常会从代码清单中移除。
所有例子的源代码和本书中的代码清单都可以在GitHub(https://github.com/mtharrison/
hapi.js-in-action) 上找到。代码被层次化地组织起来,以匹配书中的章节标题。这样设计是
为了在你学习任何章节时都能方便地查找代码。
另外,可以访问www.tupwk.com.cn/downpage,输入本书的书名或中文ISBN 下载
代码;也可直接扫描封底的二维码下载。
本书和GitHub 上的代码样例仅工作在Node.js 4.0.0 以上版本,因为用到了一些
ES2015 的属性,比如let、const 和箭头函数。
XI
前 言
作者在线
购买《hapi.js实战》时,能够免费访问由Manning出版社运营的私有论坛,在这里你可以对本书进行评论,提出技术问题,并获得作者和其他用户的帮助。要访问和订阅这个论坛,请去https://www.manning.com/books/hapi-js-in-action。这个页面提供了注册后如何进入论坛的信息,指出什么样的帮助有用,介绍论坛的行为规范。
Manning出版社对读者的承诺是提供一个地点,在这里各位读者之间,读者与作者之间可以碰撞出思想的火花。我们不承诺作者现身的次数,他们对该书论坛的贡献是自愿的(并且是无酬劳的)。我们建议你尽量问他一些具有挑战性的问题,激发他的兴趣。
只要本书还在销售中,作者在线论坛和前面讨论的存档就会在出版社的网站上开放。
其他在线资源
●
如果发现任何关于hapi使用方法或整体项目的问题,可在讨论区仓库https://github.com/hapijs/discuss提交issues。
●
在Stack Overflow上也有hapi.js的标签(http://stackoverflow.com/questions/tagged/hapijs)。
作者简介
Matt Harrison 是一位自由职业的Web开发者和顾问。他是hapi.js的核心贡献者,高产的博客作者,也是一位活跃的Node.js社区成员。此前,他曾是一名建筑师。他喜欢吃拉面,喝吉尼斯黑啤