fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络行业软件及应用狼书(卷1):更了不起的Node.js

狼书(卷1):更了不起的Node.js

中台|全栈主流 横跨移动|Web|服务端 狼叔千日三卷始成 狼书之外再无Node

作者:狼叔 出版社:电子工业出版社 出版时间:2019年07月 

ISBN: 9787121359071
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €46.99

类别: 行业软件及应用 SKU:5d817034b5d8bfc22f311075 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121359071

产品特色
编辑推荐
√ 狼叔千日奋笔,狼书一啸横空:Node.js首席布道师 一手创办垂直公号“Node全栈” CNode技术社区活跃贡献者,艳压群芳,名动八方。
√ 狼书三卷一出,Node再无遗册:《狼书(卷1):更了不起的Node.js》 《狼书(卷2):Node.js Web应用开发》 《狼书(卷3):Node.js高级技术》,百万宏篇,精华尽现。
√ Node纵横全网,狼书更有良方:横跨前后端的深厚功底 阿里|优酷|去哪儿网高端项目练级 Web|移动|服务端架构担当,远非寻常,超出想象。
√ 狼书新老咸宜,Node进行到底:面向新人的超完整知识体系 面向进阶人群的超实用高级技巧 面向专家人群的超深邃原理剖析,遍布巧思,直指精髓。

 

内容简介
Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为大前端开发的必备“神器”。本书以Node.js为主,讲解了Node.js的基础知识、开发调试方法、源码原理和应用场景,旨在向读者展示如何通过*的Node.js和npm编写出更具前端特色、更具工程化优势的代码。本书还讲解了Node.js中相当核心且复杂的异步流程控制,展望了未来异步流程的发展方向,非常适合大前端领域及后端领域的测试、运维及软件开发从业者阅读、学习。
作者简介
狼叔(网名i5ting),Node.js 技术布道者,“Node全栈”公众号作者,全栈技术实践者。曾就职于多家知名IT企业,从事前端开发、后端开发、数据分析等工作,目前负责公司内的Node.js开发和基础框架开发工作。
目  录

第1章  Node.js初识  1

1.1  引子  1

1.2  JavaScript  7

1.3  什么是Node.js  9

1.3.1  Node.js概述  9

1.3.2  Node.js的特点  12

1.3.3  Node.js的应用场景  16

1.4  本章小结  18

第2章  Node.js安装与入门  19

2.1  安装Node.js  19

2.1.1  3m安装法  19

2.1.2  nvm  20

2.1.3  npm  26

2.1.4  nrm  32

2.1.5  从源码进行编译  35

2.1.6  状态理论  35

2.2  Hello Node.js!  36

2.2.1  Hello World  36

2.2.2  Hello CommonJS  37

2.2.3  Hello HTTP  38

2.3  编辑器与调试  41

2.3.1  IDE/编辑器  41

2.3.2  VSCode  42

2.3.3  调试  45

2.4  本章小结  52

第3章  更了不起的Node.js  53

3.1  架构升级  53

3.1.1  从LAMP到MEAN  54

3.1.2  前后端分离  55

3.1.3  页面即服务  58

3.1.4  场景决定选型  59

3.2  贯穿开发全过程  60

3.2.1  静态API  60

3.2.2  现代Web开发  63

3.2.3  后端开发  68

3.3  更多乐趣  78

3.3.1  更多应用场景  78

3.3.2  C/C 扩展  79

3.3.3  团队优化  80

3.3.4  全栈之路  81

3.4  本章小结  85

第4章  更好的Node.js  86

4.1  选择  86

4.1.1  语法可难可易  86

4.1.2  开发大型软件  90

4.1.3  特定场景下的快速开发  91

4.2  单线程会“死”吗  92

4.2.1  uncaughtException  93

4.2.2  异常捕获  94

4.2.3  forever  95

4.2.4  小集群:单台服务器上多个实例  95

4.2.5  大集群:多台机器  96

4.3  为Node.js正名  98

4.3.1  版本帝?  98

4.3.2  已无性能优势?  99

4.3.3  异步和回调地狱?  100

4.3.5  技术栈演进  101

4.4  更好的实践  102

4.4.1  ES.next  102

4.4.2  类型系统  110

4.4.3  更好的npm替代品——Yarn  111

4.4.4  多模块管理器Lerna  113

4.5  本章小结  114

第5章  Node.js是如何执行的  115

5.1  准备  115

5.1.1  编辑器  116

5.1.2  编译  117

5.1.3  调试  118

5.2  编译步骤  120

5.2.1  configure  120

5.2.2  make  130

5.2.3  make install  132

5.3  从入口开始  135

5.3.1  核心流程  137

5.3.2  构造process对象  139

5.3.3  LoadEnvironment  147

5.3.4  bootstrap_node.js  148

5.3.5  EventLoop启动方法  160

5.4  API调用过程  162

5.4.1  相关的引用  163

5.4.2  FSReqWrap  163

5.4.3  核心open方法  164

5.4.4 src/node_file.cc  164

5.5  事件循环机制  167

5.5.1  概览  167

5.5.2  生命周期  169

5.5.3  microtask和macrotask  170

5.5.4  process.nextTick(callback)  173

5.6  本章小结  175

第6章  模块与核心  176

6.1  CommonJS规范  176

6.1.1  简介  176

6.1.2  核心技术  181

6.2  Node.js 模块  189

6.2.1  从源码分析实现原理  189

6.2.2  从Node.js代码执行开始  191

6.2.3  深入理解模块  195

6.2.4  全局对象  205

6.2.5  Node.js模块详解  215

6.3  未来展望:ES模块  220

6.3.1  ES模块入门  221

6.3.2  模块导入  222

6.3.3  模块导出  222

6.3.4  ES模块示例  223

6.3.5  兼容性更好的@std/esm  224

6.4  本章小结  224

第7章  异步写法与流程控制  225

7.1  异步调用  226

7.1.1  异步与同步  226

7.1.2  浏览器中的异步  227

7.1.3  Node.js异步原理  227

7.1.4  API和示例  229

7.1.5  代码优化  231

7.2  Node.js自带的异步写法  236

7.2.1  错误优先的回调方式  236

7.2.2  EventEmitter  240

7.2.3  该选择哪种风格的写法  247

7.3  更好的异步流程控制  248

7.3.1  回调地狱  248

7.3.2  Thunk  252

7.3.3  Promise  254

7.3.4  Generator  276

7.3.5  async函数  282

7.4  本章小结  287

前  言

序

本书从2015年10月开始写作。

在那之前,我还在天津创业,顶着CTO的头衔干着各种最基础的编码工作。由于公司在天津的位置很偏僻,所以公司招人成了一个大问题。更要命的是,创始人没有工资可拿,现在想想只能说是情怀在支撑我吧。

公司招人不便,那就只能想办法把人才从北上广拉到天津,于是就动了扩大技术影响力的心思——我开始在CNode社区上发帖,后面慢慢尝试做“Node全栈”公众号,效果还不错。我还记得CNode社区管理员、知名Node.js开发者alsotang曾评论过我的一篇文章,说我是Node.js布道者。当时我臭美了很久,之后便自然而然地走上了布道之路。

2015年,我结婚了,财权上交,发觉生活窘迫,又不好意思向老婆要钱,于是便开始在网上教授VSCode,之后我又和极客邦旗下的StuQ合作课程,获得收入的同时又可以进一步扩大技术影响力。而技术影响力扩大的体现就是,我被出版社的编辑发现了。由于早有布道的心思,自然希望能够出一本书,于是便开始了写书之旅。

可是写书从来都不是一件容易的事。阅历浅,写不来;无恒心,写不来。从2015年10月到2019年2月,历时三年多,很多朋友催书,以至于我经常在演讲中“自黑”:“我的书从Node.js v4写到Node.js v8,然而还没有写完。”与出版社约稿时,Node.js才刚刚发布4.0版本,而2019年年初,Node.js已经发布了11.10版本。本书几经修改,最终确定以Node.js的8.0版本为核心版本。虽然后面Node.js更新的版本里又有新功能,但整体来看Node.js的API设计得非常好,几乎都是向后兼容的,所以即使是11.10版本,和8.0版本的差别也不大,而且在本书的编辑过程中我又进行了一定的更新,因此不会影响读者阅读和学习。

在这三年多的时间里,Node.js稳定高效地发布了多个版本,国内外的Node.js使用率也渐渐达到了一个前所未有的高度。感谢前端领域的爆发式增长,这极大扩展了Node.js的应用场景,而且新语法、新特性的使用也开始成为大前端开发团队中的标配。

人生之美好就是在苦难之后能够获得成果。写书的过程是痛苦的,但也让我对于“成全别人,才能成就自己”这句话有了更深刻的认识。最开始写书是为了布道,希望更多人能从中受益,没想到最先受益的是自己,通过长时间的积累,我完善了自己的知识体系,受益匪浅。通过与CNode社区、出版社的编辑以及Node.js爱好者们之间的交流,我有了更好的学习机会。通过写书、演讲、组织社区活动,我有了更丰富的人生经历。

以前见到图书的前言中总有致谢话语,还以为只是出版“套路”。然而今时今日,历经三年多的写作,我确确实实要感谢很多人。

感谢我的家人,写书会牺牲很多陪伴家人的时间,感谢他们的理解和支持。最难过的是周一到周五,只能看老婆通过微信发来的宝宝的视频,一遍一遍地看,一遍一遍地想哭。

感谢所有推荐本书以及为本书进行技术审校的专家们,若没有他们的帮助,这本书恐怕无法以最佳状态与各位读者见面。他们的宝贵建议使得本书的内容不至于空洞,也让我受益良多。

感谢博文视点的张春雨编辑和孙奇俏编辑,他们一次次地叮嘱我、鼓励我,面对面指导我如何规范写作,这种耐心和包容是极其难得的。这本书在审校初期,有6位出版社的编辑都参与其中,那时我是崩溃的——感觉自己数学不好,常常上面说3项下面列4项;语文也不好,连基本的语句都表达不清,很符合那句玩笑话:“你的语文是体育老师教的吧”。我能够想象编辑们在修改书稿之时是多么的“痛苦”,因此再次感谢各位编辑,感谢他们的辛苦付出,因为有他们,本书才能够顺利出版。

回想这三年多的写作过程,其实几次都想放弃,想将Node.js系统地讲明白,真的不是一件容易的事。可是话都说出去了,不想让一直以来支持我的读者失望,更不能自己“打脸”,所以,这本书最终还是跟大家见面了。感谢各位粉丝在各个技术群里“花式”催书,感谢他们对我的鞭策。

再次感谢所有的小伙伴们。

所有未见面的读者,但愿狼叔的“碎碎念”,能够带你们打开Node.js世界的大门,领略大前端领域璀璨的星光。

狼叔

2019年4月于北京

 

前言

Node.js诞生于2009年,是由Joyent公司的员工Ryan Dahl开发完成的,之后Joyent公司一直扮演着Node.js孵化者的角色。由于诸多原因,Ryan于2012年离开了Node.js社区,随后在2015年,由于Node.js的贡献者们在ES6新特性集成问题上产生意见分歧,因此分裂出io.js。

io.js的分裂最终促成了2015年Node.js基金会的成立,同年Node.js v4.0顺利发布。Node.js基金会的创始成员包括Google、Joyent、IBM、Paypal、Microsoft、Fidelity和Linux基金会,创始成员将共同掌管过去由Joyent一家企业掌控的Node.js开源项目。此后,Node.js基金会发展得非常好,稳定地发布了5.x、6.x、7.x、8.x、9.x、10.x、11.x等多个版本,截止到本书完稿之时,最新版本已经是v11.14,最新的长期支持(LTS)版本是v10.15。

Node.js不是一门语言也不是一个框架,它是基于Chrome V8引擎的JavaScript运行时环境,同时结合libuv扩展了JavaScript功能,使得JavaScript能够支持浏览器DOM操作,同时具有只有后端语言才有的I/O、文件读写于操作数据库等能力,是目前使用最简单的全栈式环境。

本书内容

从整体上来说,本书以Node.js为主,首先介绍了Node.js的发展历史,然后简要概括了Node.js的特点和使用场景,之后讲解了Node.js实现过程中的新增内容(如语法、模块、单进程等)的基本用法。读者入门Node.js之后,可以继续从本书中了解Node.js的执行原理,深入解读源码。最后,本书还讲解了Node.js中非常核心且复杂的异步流程控制,对未来异步流程的发展方向进行了展望。

本书共分7章,每章的内容简介如下。

第1章 Node.js初识

本章介绍了Node.js的一些基础知识,包括什么是Node.js、Node.js和JavaScript的关系、Node.js的特点和应用场景等。

第2章 Node.js安装与入门

本章介绍了Node.js安装与使用的基本方法,包括3m(即nvm、nrm、npm)安装法、Node.js基础示例,以及编辑器和调试等内容。

第3章 更了不起的Node.js

本章更加详细地介绍了Node.js的各类应用场景,对Node.js的核心作用进行了概括与总结,还对如何成为全栈工程师提供了宝贵建议。

第4章 更好的Node.js

本章介绍了Node.js的各种写法,包括单线程与集群,以及各种优秀实践,包括ES语法、多模块管理器Lerna、npm的替代品Yarn等。

第5章 Node.js是如何执行的

本章介绍了Node.js的源码构建和调试过程,阐述了Node.js是如何执行的,还介绍了API的调用过程,以及事件循环机制。

第6章 模块与核心

本章介绍了Node.js中的CommonJS规范、SDK模块与核心技术,还对未来的ES6模块功能进行了预测与展望。

第7章 异步写法与流程控制

本章介绍了异步流程控制的演进过程、Node.js的核心异步写法,以及更好的异步流程控制机制,如Thunk、Promise、async函数等。

本书中的各章在内容上基本是相互独立的,因此各位读者可以挑选自己感兴趣的章节阅读。这本书是“狼书”系列的第1卷,还有第2卷和第3卷稍后会和各位读者见面,内容涉及Web应用和性能优化等,搭配阅读,效果更好。

目标读者

本书的目标读者有以下三类。

? 正在学习JavaScript开发,对JavaScript语言有基本的了解和熟悉度,且希望能够了解JavaScript发展情况的人。

? 正从事JavaScript开发相关工作,熟悉JavaScript的基本开发要领,在日常工作中经常接触Node.js,想要深入了解Web应用、BFF、API代理等内容,以进一步提升自我的Web工程师(此处不区分前端与后端)。

? 具有极客精神,想要深入研究JavaScript语言及Node.js的全栈工程师。

同时,本书也适合正使用其他编程语言(如Go、PHP、Python、Ruby、Java等)进行Web开发的工程师阅读、学习。

阅读准备

要想运行本书中的示例,需要安装以下系统及软件。

操作系统:推荐Linux,以及macOS X 10.9或以上版本,使用Windows操作系统可能会报错。

浏览器:Google Chrome、Safari、Firefox、Internet Explorer 11、Windows Edge。

运行环境:以Node.js 8.6为主。

媒体评论
对所有优秀的程序员来说,写书都是一件辛苦的事,所以愿意在这方面投入精力的程序员基本上都是有情怀的。狼叔花了三年多的时间写成了这本书,其中既包含Node.js基础知识,也包含宝贵的工程实践,为所有从业者提供了参考,期待狼叔能够一直写下去。
极客时间《重学前端》专栏作者
程邵非(winter)

这本书是狼叔多年技术心血的结晶,它很好地向读者介绍了Node.js的发展历程、基本特性、编程方法、应用场景和核心模块。无论你是想入门Node.js,还是想进行企业级深度实践,都可以参考这本书。只要你热衷于Node.js,相信这本书便值得你阅读!
腾讯技术总监、腾讯IVWEB团队负责人
河伯

这不是一本简单的Node.js入门书,而是一本纵观Node.js发展历史、带你领略Node.js底层风采,并且能对你的Node.js知识体系进行查漏补缺的书。在如今各式各样的Node.js书籍中,这样的好书真的非常难得。
《Node.js:来一打C 扩展》作者
死月

狼叔是国内比较知名的Node.js技术布道者,为Node.js在中国的发展做出了巨大的贡献。本书中有既对Node.js知识点的详细介绍,也有对狼叔多年宝贵经验的深度总结,非常值得大家阅读、学习,建议各位持卷品读。
ThinkJS框架作者
李成银

两年前曾和狼叔聊起过一个颇为枯燥的技术问题,当时他把那个问题解释得非常精彩,让我印象颇深。所以得知狼叔在写书时,我充满了期待。一方面,我相信狼叔一定能把严肃的技术问题讲得通俗易懂;另一方面,要想将Node.js生态讲得透彻,狼叔是优秀人选。
ioredis作者、《Redis入门指南》作者
李子骅(luin)

目前Node.js发展十分迅速,《狼书》系列图书的面世无疑为Node.js世界又注入了新的活力。这本卷1比较系统全面地介绍了Node.js的核心体系,如果你想深入学习Node.js的核心原理并掌握使用Node.js开发大型系统的要诀,那么这本书非常值得你精读。
Flarum中文社区创始人
迷渡(justjavac)

抢先评论了 “狼书(卷1):更了不起的Node.js” 取消回复

评论

还没有评论。

相关产品

阅读更多
缺货

系统评价、meta分析设计与实施方法

EUR €29.99
阅读更多
缺货

SAS统计分析与应用从入门到精通(第二版)(数据挖掘导论,与R语言并驾齐驱的实战分析详解,sas编程宝典!)

EUR €46.99
加入购物车

应用STATA做统计分析 更新至STATA 12 (原书第8版)

EUR €48.99
加入购物车

Spring Cloud微服务实战

EUR €53.99

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略