狼書(卷1):更了不起的Node.js
  • 推薦1
  • 收藏1
  • 瀏覽617

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

狼叔 , 桑世龍 (作者) 

  • 書  號:978-7-121-35907-1
  • 出版日期:2019-07-01
  • 頁  數:
  • 開  本:
  • 出版狀態:上市銷售
  • 維護人:孫奇俏

相關圖書

Koa與Node.js開發實戰

Node.js 10已經進入LTS時代!其應用場景已經從腳手架、輔助前端開發(如SSR、PWA等)擴展到API中間層、代理層及專業的后端開發。Node.js在企...

¥49.00

Vue.js快跑

Callum Macrae (作者) 劉騰輝 (譯者)

本書是用Vue.js構建Web應用的全方位指南。作者運用細致入微的講解方式帶你領略Vue.js的獨特魅力,致力于協助你從零開始基于Vue.js創建一個Web應用...

¥69.00

React狀態管理與同構實戰

侯策 顏海鏡 (作者)

React自開源以來,便以革命性的設計理念迅速顛覆了前端開發的傳統意義,其倡導的組件化、狀態管理、虛擬DOM等思想極大提高了前端開發效率。為了更加高效地維護Re...

 

JavaScript核心技術開發解密

陽波 (作者)

本書針對JavaScript 中的核心技術,結合前沿開發實踐,對JavaScript 的內存、函數、執行上<br>下文、閉包、面向對象、模塊等重點知識,進行系統...

¥39.00

Node.js設計模式(第2版)

Mario Casciaro, Luciano Mammino (作者) 馮康等 (譯者)

本書通過大量示例形象地闡述了 Node.js 的哲學思想和設計模式。內容主要由六部分組成:Node 核心思想、基礎設計模式、異步控制流模式、流編程、Node.j...

¥108.00

ES6標準入門(第3版)

阮一峰 (作者)

ES6是下一代JavaScript語言標準的統稱,每年6月發布一次修訂版,迄今為止已經發布了3個版本,分別是ES2015、ES2016、ES2017。本書根據E...

¥69.00
Node.js開發簡單,性能極好,一經發布便成了明星級項目。隨著大前端領域的蓬勃發展,跨平臺開發、API構建、Web應用開發等場景愈加常見,Node.js也成為大前端開發的必備“神器”。
本書以Node.js為主,講解了Node.js的基礎知識、開發調試方法、源碼原理和應用場景,旨在向讀者展示如何通過最新的Node.js和npm編寫出更具前端特色、更具工程化優勢的代碼。本書還講解了Node.js中相當核心且復雜的異步流程控制,展望了未來異步流程的發展方向,非常適合大前端領域及后端領域的測試、運維及軟件開發從業者閱讀、學習。
狼叔千日三卷始成,狼書之外再無Node!
狼叔(網名i5ting),Node.js 技術布道者,“Node全棧”公眾號作者,全棧技術實踐者。曾就職于多家知名IT企業,從事前端開發、后端開發、數據分析等工作,目前負責公司內的Node.js開發和基礎框架開發工作。
前言


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為主。

目錄

目錄


第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

本書勘誤

印次
  • 頁碼:71  •  行數:12  •  印次: 1

    做后端開發開發也是需要具有一定沉淀的

    背鍋俠 提交于 2019/7/11 21:14:42
    孫奇俏 確認于 2019/7/16 11:14:29

讀者評論

  • 有沒計劃發電子版?

    SamLau888發表于 2019/7/18 10:01:29
  • 講promise的時候,如果能介紹一下util模塊的promisify方法就好了

    望天發表于 2019/7/15 10:42:27

相關博文

  • Node.js十年,你大爺還是你大爺

    Node.js十年,你大爺還是你大爺

    管理員賬號 2019-06-25

    Node.js從2009年誕生開始,到現在已有10歲,在這10年里,它的成長和成熟是大家有目共睹的。它因后端簡化并發編程而被關注,因作為前端輔助開發工具而流行,因異步流程控制和回調地獄而被人詬病,因npm批量安裝模塊而被人敬仰。 ...

    管理員賬號 2019-06-25
    161 0 0 0
  • 狼書之外再無Node!《狼書》現已全面開售!

    狼書之外再無Node!《狼書》現已全面開售!

    管理員賬號 2019-07-04

    Node.js開發簡單,性能極好,一經發布便成了明星級項目。隨著大前端領域的蓬勃發展,跨平臺開發、API構建、Web應用開發等場景愈加常見,Node.js也成為大前端開發的必備“神器”。 《狼書(卷1):更了不起的Node.js》作...

    管理員賬號 2019-07-04
    500 0 0 0

推薦用戶

0k000澳客网竞彩