Node.js+MongoDB+Angular Web開發

Node.js+MongoDB+Angular Web開發

《Node.js+MongoDB+Angular Web開發》是2018年電子工業出版社出版的圖書,作者是Brad Dayley(布拉德·德雷)。本書始於對每種技術都提供簡潔、清晰的教程,然後迅速轉向建立實用的Web應用程式。你將學習如何使用Node.js和MongoDB構建更具可伸縮性的高性能站點,以及如何利用Angular的創新MVC方法構建更有效的頁面和應用程式,以及如何綜合這三個利器共同實現出色的下一代Web解決方案。

基本介紹

  • 中文名:Node.js+MongoDB+Angular Web開發
  • 作者:Brad Dayley(布拉德·德雷)、Brendan Dayley(布蘭登·德雷)、Caleb Dayley(凱勒·德雷)
  • 出版社:電子工業出版社 
  • ISBN:9787121350962 
內容簡介,圖書目錄,作者簡介,

內容簡介

Node.js是領先的伺服器端編程環境,MongoDB是*受歡迎的NoSQL資料庫,而Angular是基於MVC的前端開發的領先框架。它們一起提供了一個易於實現的完全集成的Web開發棧,可以讓Web程式設計師創建從伺服器到客戶端完全以JavaScript構建的高性能站點和應用程式。針對Angular 2,Angular 4和後續版本進行了更新,這個新版本的Node.js,MongoDB和Angular Web Development將展示如何將這三種技術整合到完整的工作解決方案中。它首先介紹每種技術的簡明明了的教程,然後快速地開始構建常見的Web應用程式。

圖書目錄

目 錄
引 言 1
第1 部分 入 門
第1 章 介紹Node.js-to-Angular 套件 9
1.1 了解基本的Web 開發框架 9
1.1.1 用戶 10
1.1.2 瀏覽器 10
1.1.3 Web 伺服器 12
1.1.4 後端服務 12
1.2 了解Node.js-to-Angular 套件組件 13
1.2.1 Node.js 13
1.2.2 MongoDB 14
1.2.3 Express 15
1.2.4 Angular 15
1.3 小結 16
1.4 下一章 16
第2 章 JavaScript 基礎 17
2.1 定義變數 17
2.2 了解JavaScript 數據類型 18
2.3 使用運算符 19
2.3.1 算術運算符 19
2.3.2 賦值運算符 20
VIII 目 錄
2.3.3 運用比較和條件運算符 20
2.4 實現循環 22
2.4.1 while 循環 23
2.4.2 do/while 循環 23
2.4.3 for 循環 23
2.4.4 for/in 循環 24
2.4.5 中斷循環 25
2.5 創建函式 26
2.5.1 定義函式 26
2.5.2 將變數傳遞給函式 26
2.5.3 從函式返回值 .. 27
2.5.4 使用匿名函式 .. 27
2.6 理解變數作用域 .. 28
2.7 使用JavaScript 對象 28
2.7.1 使用對象語法 29
2.7.2 創建自定義對象 30
2.7.3 使用原型對象模式 30
2.8 處理字元串 31
2.8.1 合併字元串 32
2.8.2 在字元串中搜尋子串 33
2.8.3 在一個字元串中替換單詞 33
2.8.4 將字元串分割成數組 33
2.9 使用數組 33
2.9.1 合併數組 35
2.9.2 遍歷數組 35
2.9.3 將數組轉換為字元串 35
2.9.4 檢查數組是否包含某個條目 36
2.9.5 在數組中添加條目和刪除條目 36
2.10 添加錯誤處理 36
2.10.1 try/catch 塊 37
2.10.2 拋出你自己的錯誤 37
2.10.3 使用finally 38
2.11 小結 38
2.12 下一章 38
第2 部分 學習Node.js
第3 章 開始使用Node.js 41
3.1 了解Node.js 41
3.1.1 誰在使用Node.js 41
3.1.2 Node.js 的用途 42
3.1.3 Node.js 包含的內容 42
3.2 Node.js 安裝 44
3.2.1 縱觀Node.js 安裝位置 44
3.2.2 驗證Node.js 執行檔 44
3.2.3 選擇Node.js IDE 45
3.3 使用Node 包 45
3.3.1 什麼是Node 封裝模組 45
3.3.2 了解Node 包註冊表 46
3.3.3 使用Node 包管理器 46
3.3.4 搜尋Node 封裝模組 47
3.3.5 安裝Node 封裝模組 48
3.3.6 使用package.json 49
3.4 創建Node.js 應用程式 50
3.4.1 創建Node.js 模組封裝 51
3.4.2 將一個Node.js 封裝模組發布到NPM 註冊表 52
3.4.3 在Node.js 應用程式中使用Node.js 封裝模組 54
3.5 將數據寫入控制台 55
3.6 小結 56
3.7 下一章 56
第4 章 在Node.js 中使用事件、監聽器、定時器和回調 57
4.1 了解Node.js 事件模型 57
4.1.1 比較事件回調和執行緒模型 57
4.1.2 在Node.js 中阻塞I/O 58
4.1.3 會話示例 60
4.2 將工作添加到事件佇列 60
4.2.1 實現定時器 61
4.2.2 使用nextTick 來調度工作 64
4.2.3 實現事件發射器和監聽器 65
4.3 實現回調 68
4.3.1 向回調函式傳遞額外的參數 69
4.3.2 在回調中實現閉包 70
4.3.3 鏈式回調 71
4.4 小結 72
4.5 下一章 72
第5 章 在Node.js 中處理數據I/O 73
5.1 處理JSON 73
5.1.1 把JSON 轉換成JavaScript 對象 73
5.1.2 把JavaScript 對象轉換為JSON 74
5.2 使用Buffer 模組緩衝數據 74
5.2.1 了解緩衝數據 75
5.2.2 創建緩衝區 75
5.2.3 寫入緩衝區 76
5.2.4 從緩衝區讀取 77
5.2.5 確定緩衝區的長度 78
5.2.6 複製緩衝區 78
5.2.7 對緩衝區切片 80
5.2.8 拼接緩衝區 80
5.3 使用Stream 模組來傳送數據 81
5.3.1 Readable 流 82
5.3.2 Writable 流 84
5.3.3 Duplex 流 86
5.3.4 Transform 流 88
5.3.5 把Readable 流用管道輸送到Writable 流 89
5.4 用Zlib 壓縮與解壓縮數據 91
5.4.1 壓縮和解壓縮緩衝區 91
5.4.2 壓縮/解壓縮流 93
5.5 小結 93
5.6 下一章 93
第6 章 從Node.js 訪問檔案系統 95
6.1 同步和異步檔案系統調用 95
6.2 打開和關閉檔案 96
6.3 寫入檔案 97
6.3.1 簡單檔案寫入 97
6.3.2 同步檔案寫入 98
6.3.3 異步寫入檔案 99
6.3.4 流式檔案寫入 101
6.4 讀取檔案 102
6.4.1 簡單檔案讀取 102
6.4.2 同步檔案讀取 103
6.4.3 異步檔案讀取 104
6.4.4 流式檔案讀取 105
6.5 其他檔案系統任務 106
6.5.1 驗證路徑的存在性 106
6.5.2 獲取檔案信息 107
6.5.3 列出檔案 108
6.5.4 刪除檔案 110
6.5.5 截斷檔案 110
6.5.6 建立和刪除目錄 111
6.5.7 重命名檔案和目錄 112
6.5.8 監視檔案更改 112
6.6 小結 .. 113
6.7 下一章 113
第7 章 在Node.js 中實現HTTP 服務 115
7.1 處理URL 115
7.1.1 了解URL 對象 116
7.1.2 解析URL 組件 117
7.2 處理查詢字元串和表單參數 117
7.3 了解請求、回響和伺服器對象 118
7.3.1 http.ClientRequest 對象 118
7.3.2 http.ServerResponse 對象 121
7.3.3 http.IncomingMessage 對象 122
7.3.4 http.Server 對象 122
7.4 在Node.js 中實現HTTP 客戶端和伺服器 124
7.4.1 提供靜態檔案服務 124
7.4.2 實現動態的GET 伺服器 126
7.4.3 實現POST 伺服器 128
7.4.4 與外部源互動 131
7.5 實現HTTPS 伺服器和客戶端 133
7.5.1 創建HTTPS 客戶端 134
7.5.2 創建HTTPS 伺服器 135
7.6 小結 136
7.7 下一章 136
第8 章 在Node.js 中實現套接字服務 137
8.1 了解網路套接字 137
8.2 了解TCP 伺服器和Socket 對象 138
8.2.1 net.Socket 對象 138
8.2.2 net.Server 對象 141
8.3 實現TCP 套接字伺服器和客戶端 144
8.3.1 實現TCP 套接字客戶端 144
8.3.2 實現TCP 套接字伺服器 146
8.4 實現TLS 伺服器和客戶端 149
8.4.1 創建TLS 套接字客戶端 150
8.4.2 創建TLS 套接字伺服器 151
8.5 小結153
8.6 下一章 153
第9 章 在Node.js 中使用多處理器擴展應用程式 155
9.1 了解process 模組 155
9.1.1 了解進程I/O 管道 155
9.1.2 了解進程的信號 156
9.1.3 使用process 模組控制進程執行 156
9.1.4 從process 模組獲取信息 157
9.2 實現子進程 159
9.2.1 了解ChildProcess 對象 159
9.2.2 使用exec()在另一個進程上執行一個系統命令 161
9.2.3 使用execFile()在另一個進程上執行一個執行檔 162
9.2.4 使用spawn()在另一個Node.js 實例中產生一個進程 163
9.2.5 實現子派生 165
9.3 實現進程集群 167
9.3.1 使用cluster 模組 168
9.3.2 了解Worker 對象 169
9.3.3 實現一個HTTP 集群 170
9.4 小結 172
9.5 下一章 172
第10 章 使用其他Node.js 模組 173
10.1 使用os 模組 173
10.2 使用util 模組 175
10.2.1 格式化字元串 175
10.2.2 檢查對象類型 176
10.2.3 將JavaScript 對象轉換為字元串 176
10.2.4 從其他對象繼承功能 177
10.3 使用dns 模組 178
10.4 使用crypto 模組 180
10.5 其他Node 模組和對象 181
10.6 小結 182
10.7 下一章 182
第3 部分 學習MongoDB
第11 章 了解NoSQL 和MongoDB 185
11.1 為什麼要採用NoSQL 185
11.2 了解MongoDB 186
11.2.1 理解集合 186
11.2.2 了解文檔 186
11.3 MongoDB 的數據類型 187
11.4 規劃你的數據模型 188
11.4.1 使用文檔引用來規範化數據 189
11.4.2 使用嵌入式文檔反規範化數據 190
11.4.3 使用封頂集合 191
11.4.4 了解原子寫操作 192
11.4.5 考慮檔案增長 192
11.4.6 識別索引、分片和複製的機會 193
11.4.7 大集合與大量集合的對比 193
11.4.8 決定數據生命周期 193
11.4.9 考慮數據的可用性和性能 194
11.5 小結 194
11.6 下一章 194
第12 章 MongoDB 入門 195
12.1 構建MongoDB 的環境 195
12.1.1 MongoDB 的安裝 195
12.1.2 啟動MongoDB 196
12.1.3 停止MongoDB 197
12.1.4 從shell 客戶端訪問MongoDB 197
12.2 管理用戶賬戶 200
12.2.1 列出用戶 200
12.2.2 創建用戶賬戶 201
12.2.3 刪除用戶 202
12.3 配置訪問控制 203
12.3.1 創建用戶管理員賬戶 203
12.3.2 打開身份驗證 . 204
12.3.3 創建資料庫管理員賬戶 204
12.4 管理資料庫 205
12.4.1 顯示資料庫清單 205
12.4.2 切換當前資料庫 205
12.4.3 創建資料庫 206
12.4.4 刪除資料庫 206
12.4.5 複製資料庫 207
12.5 管理集合 207
12.5.1 顯示資料庫中的集合列表 207
12.5.2 創建集合 208
12.5.3 刪除集合 208
12.5.4 在集合中查找文檔 209
12.5.5 將文檔添加到集合中 210
12.5.6 從集合中刪除文檔 210
12.5.7 更新集合中的文檔 211
12.6 小結 212
12.7 下一章 212
第13 章 MongoDB 和Node.js 入門 213
13.1 把MongoDB 的驅動程式添加到Node.js 213
13.2 從Node.js 連線到MongoDB 213
13.2.1 了解寫入關注 214
13.2.2 通過MongoClient 對象從Node.js 連線到MongoDB .214
13.3 了解用在MongoDB Node.js 驅動程式中的對象 218
13.3.1 了解Db 對象 218
13.3.2 了解Admin 對象 220
13.3.3 了解Collection 對象 220
13.3.4 了解Cursor 對象 222
13.4 訪問和運算元據庫 223
13.4.1 列出資料庫 223
13.4.2 創建資料庫 223
13.4.3 刪除資料庫 224
13.4.4 創建、列出和刪除資料庫實例 224
13.4.5 獲取MongoDB 伺服器的狀態 226<

作者簡介

Brad Dayley是一名高級軟體工程師,在開發企業應用程式及Web界面方面,他擁有超過20年的工作經驗。他熟練套用JavaScript和jQuery多年,並是Learning Angular, jQuery and JavaScript Phrasebook和Sams Teach Yourself AngularJS, JavaScript, and jQuery All in One的作者。他曾設計並實現了一大批應用程式和服務—從套用伺服器到複雜的Web應用程式。Brendan Dayley是一名Web應用程式開發人員,他喜歡學習和實施、好的技術。他是Learning Angular和Sams Teach Yourself AngularJS, JavaScript, and jQuery All in One的合著者。他使用JavaScript、TypeScript和Angular編寫了大量的Web應用程式,他正在探索新的Web和移動技術(如增強現實)的功能並研究如何將其用於創新解決方案。Caleb Dayley是一名在校大學生,主修計算機科學。他儘可能地學習自己所能學到的東西,並且自學了很多關於程式設計的知識。他自學了幾種語言,包括JavaScript、C#,並且使用了本書的第1版。他對未來的發展,以及為有機會幫助設計和開發下一代創新軟體感到興奮,這些軟體將繼續改善我們生活、工作和娛樂的方式。
譯者盧濤:ITPUB社區版主,20年IT從業經歷,先後從事c/c 軟體開發、系統分析及Oracle資料庫等工作,參加過多個全國性普查數據處理項目的開發和運維,目前主要從事統計報表聯網填報系統的後台支持。《劍破冰山——Oracle開發的藝術》作者之一,譯有多部技術書籍。

相關詞條

熱門詞條

聯絡我們