Node.js入門指南
內容描述
Node.js 因為使用了 Google 的 V8 引擎,所以具有高性能、高並發的特點,尤其適合聊天等即時應用的處理。Node.js 使用 JavaScript 編程語言,有利於快速入門學習。 本書分為 10 章,從邏輯上分為四個部分。 第一部分為基礎篇(第 1~7 章)。 該部分介紹了 Node.js 及 JavaScript 語言的基礎知識、Node.js 的文件管理模塊、網絡開發模塊、訪問 MongoDB數據庫模塊、分佈式模塊。通過學習讀者將掌握 Node.js 及 JavaScript 語言開發的基礎知識。 第二部分為 Express.js 框架篇(第 8 章)。 該部分介紹了 Node.js 的 Express.js 框架,包括框架的路由、中間件、模板引擎、錯誤處理、調試、靜態文件等模塊。 第三部分為 Koa.js 框架篇(第 9 章)。 該部分介紹了 Node.js 的 Koa.js 框架,框架的級聯、設置、錯誤處理、上下文、中間件、路由等模塊。 第四部分為實踐篇(第 10 章)。 該部分介紹了前端 Vue.js 框架,並使用前端 Vue.js 框架和後端 Express.js 框架,數據庫為 MongoDB 的前後端分離項目。該項目還具有基本的 MVC 三層架構。 本書適合有一定 Web 開發基礎的 Node.js 初學者學習,同樣也適合高等院校和培訓機構相關專業的師生作為教學參考用書。
目錄大綱
第 1 章 Node.js 概述 1
1.1 Node.js 簡介2
1.2 Node.js 的發展歷史和特點 3
1.3 Node.js 應用場景 7
1.4 Node.js 與 V8 引擎 9
1.5 本章小結 11
第 2 章 開始 Node.js 之旅 12
2.1 搭建開發環境 13
2.2 Node.js 包管理詳解 26
2.3 使用 Node.js 操作數據庫 34
2.4 本章小結47
第 3 章 Node.js 開發起步 48
3.1 JavaScript 語法 49
3.2 控制台的輸入與輸出 66
3.3 JavaScript 語言的命名規範和編程規範 69
3.4 JavaScript 語言和 Node.js 之間的關係 75
3.5 本章小結76
第 4 章 Node.js 文件管理 77
4.1 Node.js 文件管理概述78
4.2 異步與同步80
4.3 Node.js 打開文件與關閉文件 84
4.4 Node.js 獲取文件信息 86
4.5 Node.js 寫入文件與讀取文件 89
4.6 Node.js 截取文件與刪除文件 93
4.7 Node.js 目錄的創建、刪除和讀取 95
4.8 文件管理 API 手冊 97
4.9 本章小結99
第 5 章 Node.js 網絡開發100
5.1 Node.js 網絡開發概述 101
5.2 TCP 服務器構建 104
5.3 TCP 客戶端構建 113
5.4 UDP 服務構建 116
5.5 Node.js 長連接構建 119
5.6 Node.js 網絡開發常用的 API 手冊 130
5.7 本章小結131
第 6 章 Node.js 訪問 MongoDB 132
6.1 MongoDB 數據庫介紹 133
6.2 MongoDB 基本操作 134
6.3 mongoose 基本操作 167
6.4 本章小結186
第 7 章 Node.js 分佈式187
7.1 Node.js 分佈式概述 188
7.2 Node.js 負載均衡 190
7.3 Node.js 去狀態化 193
7.4 Node.js 遠程過程調用(RPC)196
7.5 Node.js 中間件 199
7.6 本章小結203
第 8 章 Express.js 框架基本使用 204
8.1 Express.js 框架介紹 205
8.2 Express.js 應用程序生成器 216
8.3 Express.js 路由 219
8.4 Express.js 中間件 229
8.5 Express.js 模板引擎 242
8.6 Express.js 錯誤處理 246
8.7 Express.js 調試 247
8.8 Express.js 靜態文件 247
8.9 Express.js 常用的 API 手冊 248
8.10 本章小結 249
第 9 章 Koa.js 框架基本使用 250
9.1 Koa.js 框架介紹 251
9.2 Koa.js 應用程序生成器 253
9.3 Koa.js 應用程序 255
9.4 Koa.js 上下文 260
9.5 Koa.js 中間件 261
9.6 Koa.js 路由 263
9.7 Koa.js 常用的 API 的介紹 265
9.8 本章小結266
第 10 章 個人博客項目實踐 267
10.1 項目需求分析 268
10.2 項目數據庫設計與創建 270
10.3 項目架構分析 273
10.4 前端 Vue.js 部分 275
10.5 後端 Express.js 部分 297
10.6 前後端聯調 317
10.7 項目部署上線 330
10.8 本章小結 331
作者介紹
司明岳, “小明菜市場”公眾號主編,阿里雲社區專家,GitChat專欄作者,開源社區的參與者與推動者,參與開發多個開源項目。在IT公司負責前端設計、後端研發、數據庫研發、小程序開發等多個項目的策劃與交付,以及後期的運營和維護,對JavaScript語言和Node.js有著較為深入的研究。