新書推薦:
《
化妆品学原理
》
售價:HK$
57.3
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
48.3
《
爱你,是我做过最好的事
》
售價:HK$
57.3
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
57.3
《
量子网络的构建与应用
》
售價:HK$
112.7
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:HK$
112.7
《
大唐名城:长安风华冠天下
》
售價:HK$
89.7
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:HK$
90.9
|
編輯推薦: |
√
全球获好评最多的Node书籍,原著获数百人五星推荐
适读人群 :本书适合熟悉Node.js基础,想在专业环境中构建应用程序的开发人员
√
国内顶尖团队奇舞团精选领域第一书,倾情翻译
√
迈向产品级开发的实战入门,理解更深,技能翻番
√
面向项目,涵盖第三方模块和组合技术,实战案例丰富
《Node.js项目实践:构建可扩展的Web应用》会指导你逐步学习如何使用专业的开发工具来构建一系列基于Node.js的Web应用。Node.js是一个用于创建Web服务的平台,以创新设计和高效著称。但仅有Node.js核心本身并不能够解决所有问题!在现代Web开发中,通常需要将许多不同的组件组合在一起——路由、数据库驱动、ORM、会话管理、Oauth、HTML模板引擎、CSS编译器等。如果你已经对Node.js的基础知识有了一定的了解,那现在就是我们去探索它巨大的模块包生态系统并用来构建产品的时候了。作为一个Web开发者,你将通过本书了解到各种各样的标准和框架集合是如何完美地通过Node.js结合到一起的。
《Node.js项目实践:构建可扩展的
|
內容簡介: |
本书用专业的讲解方式,带领读者从“Hello World”示例开始,一步步将其构建成有实际用途的Node.js应用。本书涉及许多组件的使用,比如安全、部署上线、组织代码、数据库驱动和模板引擎等,从中可使读者接触到很多经过历年实践所得出的广受欢迎的模块库,它们可以大大提高开发人员的代码质量和开发效率。
|
關於作者: |
Azat Mardan 在互联网、移动、软件开发方面有十多年的工作经验。他拥有信息学学士以及信息系统硕士学位,并且掌握和实践经验一样丰富的学术知识。
最近,Azat 以团队领导高级软件工程师的角色工作于DocuSign,他的团队采用最新技术Node.js 栈、Express.js、Backbone.js、CoffeeScript、Jade、Stylus 以及Redis 重构了拥有5000 万用户的产品(DocuSign 网络应用)。
之前,Azat 曾在Storify.com(2013 被收购)、美国国家生物技术信息中心、联邦存款保险公司、洛克希德马丁以及其他公司任高级软件工程师。他在Marakana 开源社区(2013 被收购)、pariSOMA、General Assembly San Francisco 以及Hack Reactor 上教编程获得一致好评。Azat 会利用业余时间在他的博客webapplog.com 上写技术文章。他还是其他4 本JavaScript 和Node.js 图书的作者,包括亚马逊上客户端服务器类的畅销书:Rapid Prototyping with JS: Agile JavaScript Development。
Azat 是开源Node.js 项目:ExpressWorks、mongoui、HackHall 和NodeFramework.com的创建者,同时,也是Express、OAuth、jade-browser 以及其他NPM 模块的贡献者。
|
目錄:
|
第1章 安装Node.js及相关要点1
安装Node.js和NPM1
一键安装2
通过HomeBrew或MacPorts安装3
通过tar文件安装4
无须sudo授权进行安装4
通过Git Repo进行安装5
通过Nave进行多版本安装5
通过NVM进行多版本安装6
其他的多版本系统6
检查安装7
Node.js控制台(REPL)7
加载Node.js脚本9
Node.js的基础和语法9
弱类型9
Buffer——Node.js特殊数据类型10
对象字面量10
函数11
数组12
原型特性12
编码规范13
Node.js的全局变量和保留字14
__dirname与process.cwd的对比17
浏览器API输助工具17
Node.js的核心模块18
便捷的Node.js工具20
在Node.js中读写文件20
Node.js中的数据流21
使用NPM安装Node.js模块21
优化Node.js中的回调函数22
使用Node.js的HTTP模块来创建一个简单服务器23
调试Node.js程序24
核心Node.js调试24
使用Node Inspector来调试25
Node.js集成开发环境和代码编辑器28
监听文件变化30
小结31
第2章 使用Express.js 4创建Node.js的Web应用程序32
什么是Express.js32
Express.js是如何工作的35
Express.js的安装36
Express.js的版本36
Express.js生成器37
本地Express.js38
Express.js脚手架40
Express.js命令行界面41
Express.js中的路由43
Express.js的核心——中间件44
一个Express.js应用的配置45
Jade就是Express.jsNode.js的Haml45
脚手架总结45
博客项目概述46
提交数据47
Express.js 4中的Hello World例子48
创建文件夹49
NPM初始化和package.json50
依赖声明:npm install50
app.js文件51
Jade模板55
运行Hello World应用56
小结56
第3章 Node.js基于Mocha的测试驱动开发和行为驱动开发57
安装与理解Mocha58
理解Mocha的hook机制60
用assert进行TDD61
断言库Chai63
用expect.js进行BDD64
Expect.js的语法65
项目:为博客开发一个BDD测试65
将配置参数写入Makefile68
小结69
第4章 模板引擎:Jade和Handlebars70
Jade的语法和特性70
标签71
变量数据71
属性72
字面量73
文本73
Script 和 Style块74
JavaScript代码74
注释75
if语句75
each语句75
过滤器76
读取变量76
case76
函数mixin77
include78
extend78
单独使用Jade79
Handlebars的语法83
变量83
each语句83
非转义输出84
if语句85
unless85
with86
注释87
自定义 Helpers87
Include88
单独使用Handlebars88
Express.js 4中Jade和Handlebars的用法91
Jade 和 Express.js92
Handlebars和Express.js92
项目:给博客添加Jade模板93
layout.jade94
index.jade96
article.jade97
login.jade98
post.jade99
admin.jade100
小结101
第5章 MongoDB、Mongoskin特性102
简单且正确地安装MongoDB103
如何运行Mongo服务104
用控制台操作Mongo105
MongoDB Shell命令介绍106
Node.js版原生MongoDB驱动示例107
Mongoskin的主要方法介绍111
项目:用Mongoskin把博客数据存储到MongoDB112
项目:在MongoDB中添加seed数据112
项目:Mocha测试113
项目:添加持久连接115
运行App126
小结127
第6章 在Node.js应用中使用session和OAuth进行用户认证和授权128
使用Express.js中间件权限管理128
基于token的用户认证129
基于session的用户认证130
项目实践:为博客增加邮箱和密码登录功能132
session中间件132
博客中的权限管理133
博客中的用户授权136
运行应用138
Node.js OAuth138
使用Node.js OAuth实现Twitter OAuth 2.0的示例139
Everyauth140
项目实践:为博客增加Twitter OAuth 1.0第三方登录(使用Everyauth实现)141
添加“使用Twitter账户登录”链接142
配置EveryauthTwitter模块142
小结148
第7章 使用ORM类库Mongoose提升你的Node.js数据149
安装Mongoose150
用独立的Mongoose 脚本建立数据库连接150
Mongoose的原型152
使用钩子保持代码的逻辑清晰154
自定义静态方法和实例方法155
Mongoose 模型155
使用population建立关系和连接158
嵌套的文档160
虚拟字段161
修改原型的行为162
Express.js + Mongoose =真正的MVC164
小结175
第8章 使用Express.js和Hapi构建Node.js REST API服务176
RESTful API基础177
项目依赖179
使用Mocha和Superagent进行测试180
使用Express和Mongoskin实现REST API服务器185
重构:使用Hapi搭建REST API服务器192
小结199
第9章 WebSocket、Socket.IO和DerbyJS的实时应用程序200
什么是WebSocket200
用ws模块的例子介绍本地WebSocket和Node.js201
浏览器WebSocket的实现201
用ws模块实现Node.js服务器202
Socket.IO和Express.js的例子204
用DerbyJS、Express.js和MongoDB搭建一个在线协作的代码编辑器例子209
项目依赖和package.json210
服务器端代码211
DerbyJS应用程序213
DerbyJS视图215
编辑器Tryout217
小结218
第10章 为Node.js应用上线做准备219
环境变量219
生产环境下的Express.js220
生产环境下的Socket.IO222
错误处理223
错误处理工具Node.js domains225
使用Cluster处理多线程229
使用Cluster2处理多线程232
事件日志和监控233
监控233
生产环境下的REPL235
Winston236
使用Papertrail应用来管理日志237
使用Grunt处理任务237
使用Git来做版本控制和发布代码241
安装Git242
生成SSH密钥242
创建本地Git仓库245
将本地仓库推送到GitHub245
在云上使用TravisCI运行测试用例246
TravisCI配置247
小结248
第11章 部署Node.js应用249
部署到Heroku249
部署到Amazon网络服务255
使用forever、Upstart和init.d保持Node.js持续运行259
forever259
Upstart脚本260
init.d262
尽可能使用Nginx提供静态资源264
使用Varnish缓存266
小结268
第12章 Node.js模块发布和参与开源269
推荐的目录结构270
所需模式270
package.json273
发布到NPM274
锁定版本274
小结275
结束语275
进阶阅读276
勘误和联系方式276
|
|