Node.js全棧開發
潘成均
買這商品的人也買了...
-
$480$360 -
$580$522 -
$301PHP Web 安全開發實戰
-
$550$429 -
$580$458 -
$480$379 -
$534$507 -
$690$538 -
$500$390 -
$720$562 -
$768$730 -
$800$624 -
$600$468 -
$820$640 -
$860$671 -
$630$536 -
$594$564 -
$658企業級 Go 項目開發實戰
-
$539$512 -
$654$621 -
$894$849 -
$680$537 -
$680$530 -
$750$585 -
$630$498
相關主題
商品描述
目錄大綱
目錄
第 1 篇 Node.js 開發基礎知識
第 1 章 Node.js 概述 ............................................................................................................ 2
1.1 Node.js 簡介..................................................................................................................................................... 2
1.1.1 Node.js 是什麽 .................................................................................................................................... 2
1.1.2 Node.js 能做什麽 ................................................................................................................................ 3
1.1.3 Node.js 架構原理 ................................................................................................................................ 6
1.1.4 Node.js 的發展歷程 ............................................................................................................................ 7
1.2 Node.js 的安裝配置......................................................................................................................................... 8
1.2.1 在 Windows 中安裝 Node.js............................................................................................................... 8
1.2.2 在 Linux 中安裝 Node.js................................................................................................................... 10
1.3 編寫第一個 Node.js 程序 ............................................................................................................................. 11
1.3.1 創建 Node.js 應用 ............................................................................................................................. 11
1.3.2 運行 Node.js 應用 ............................................................................................................................. 12
1.4 開發工具及其調試........................................................................................................................................ 13
1.4.1 安裝 Visual Studio Code ................................................................................................................... 13
1.4.2 調試 Node.js 程序 ............................................................................................................................. 16
1.5 創建 Web 服務器案例 .................................................................................................................................. 18
1.6 本章小結 ........................................................................................................................................................ 19
第 2 章 Node.js 模塊化管理 ............................................................................................... 20
2.1 JavaScript 模塊化 .......................................................................................................................................... 20
2.1.1 什麽是模塊化.................................................................................................................................... 20
2.1.2 模塊化的發展史................................................................................................................................ 22
2.1.3 CommonJS 規範................................................................................................................................ 25
2.1.4 ES 6 模塊化規範............................................................................................................................... 27
2.2 Node.js 模塊分類........................................................................................................................................... 30
2.2.1 核心模塊............................................................................................................................................ 30
2.2.2 自定義模塊........................................................................................................................................ 31
2.2.3 第三方模塊........................................................................................................................................ 32
2.3 NPM 包管理器 .............................................................................................................................................. 33
2.3.1 NPM 簡介 .......................................................................................................................................... 33
2.3.2 使用 NPM 管理模塊......................................................................................................................... 34
2.3.3 使用 YARN 管理模塊 ...................................................................................................................... 37
Node.js 全棧開發:從入門到項目實戰
2.4 本章小結 ........................................................................................................................................................ 40
第 3 章 JavaScript 基礎知識 .............................................................................................. 41
3.1 JavaScript 語法基礎 ...................................................................................................................................... 41
3.1.1 JavaScript 簡介 .................................................................................................................................. 41
3.1.2 變量與數據類型................................................................................................................................ 42
3.1.3 運算符................................................................................................................................................ 44
3.1.4 表達式及語句.................................................................................................................................... 48
3.2 程序控制結構................................................................................................................................................ 48
3.2.1 分支結構............................................................................................................................................ 48
3.2.2 循環結構............................................................................................................................................ 50
3.3 函數的定義與使用........................................................................................................................................ 53
3.3.1 函數的聲明與調用............................................................................................................................ 53
3.3.2 函數的參數........................................................................................................................................ 54
3.3.3 函數的返回值.................................................................................................................................... 56
3.3.4 函數的註釋........................................................................................................................................ 56
3.4 常用的內置對象............................................................................................................................................ 57
3.4.1 數組 Array.......................................................................................................................................... 57
3.4.2 數學對象 Math .................................................................................................................................. 63
3.4.3 日期對象 Date ................................................................................................................................... 65
3.4.4 字符串 String ..................................................................................................................................... 66
3.5 ES 6+新增的語法.......................................................................................................................................... 67
3.5.1 變量和常量........................................................................................................................................ 67
3.5.2 解構賦值............................................................................................................................................ 68
3.5.3 擴展運算符........................................................................................................................................ 69
3.5.4 字符串新增的方法............................................................................................................................ 69
3.5.5 數組新增的方法................................................................................................................................ 70
3.5.6 對象新增的方法................................................................................................................................ 71
3.5.7 箭頭函數............................................................................................................................................ 72
3.5.8 Set 和 Map ......................................................................................................................................... 72
3.5.9 Class 類及其繼承.............................................................................................................................. 73
3.5.10 Promise 和 Async ............................................................................................................................ 74
3.6 本章小結 ........................................................................................................................................................ 75
第 4 章 Node.js 的內置模塊 ............................................................................................... 76
4.1 Node.js 模塊................................................................................................................................................... 76
4.1.1 module 模塊....................................................................................................................................... 76
4.1.2 global 全局變量................................................................................................................................. 77
4.1.3 Console 控制台.................................................................................................................................. 78
4.1.4 Errors 錯誤模塊................................................................................................................................. 80
4.2 Buffer 緩沖區................................................................................................................................................. 83
·VI · 目錄
4.2.1 緩沖區與 TypeArray ......................................................................................................................... 83
4.2.2 Buffer 類 ............................................................................................................................................ 84
4.3 child_process 子進程..................................................................................................................................... 87
4.3.1 創建子進程........................................................................................................................................ 87
4.3.2 父進程和子進程間的通信 ............................................................................................................... 89
4.4 events 事件觸發器......................................................................................................................................... 90
4.4.1 事件循環............................................................................................................................................ 90
4.4.2 EventEmitter 類 ................................................................................................................................. 91
4.5 timmers 定時器.............................................................................................................................................. 95
4.5.1 Node.js 中的定時器 .......................................................................................................................... 95
4.5.2 調度定時器........................................................................................................................................ 95
4.6 path 路徑 ........................................................................................................................................................ 96
4.7 fs 文件系統 .................................................................................................................................................... 98
4.7.1 fs 模塊簡介........................................................................................................................................ 98
4.7.2 文件的基本操作.............................................................................................................................. 101
4.8 NET 網絡 ..................................................................................................................................................... 105
4.8.1 net 模塊簡介.................................................................................................................................... 105
4.8.2 TCP 服務器 ..................................................................................................................................... 106
4.9 dgram 數據報............................................................................................................................................... 108
4.9.1 dgram 模塊簡介 .............................................................................................................................. 108
4.9.2 UDP 服務器..................................................................................................................................... 108
4.10 超文本傳輸協議模塊................................................................................................................................110
4.10.1 HTTP 模塊簡介............................................................................................................................. 110
4.10.2 HTTP 服務器................................................................................................................................. 111
4.11 本章小結 .................................................................................................................................................... 113
第 5 章 數據庫操作 .......................................................................................................... 114
5.1 Node.js 操作 MySQL .................................................................................................................................. 114
5.1.1 安裝 MySQL.................................................................................................................................... 114
5.1.2 MySQL 的基本命令 ....................................................................................................................... 119
5.1.3 在 Node.js 中使用 MySQL............................................................................................................. 122
5.2 Node.js 操作 MongoDB .............................................................................................................................. 128
5.2.1 安裝 MongoDB................................................................................................................................128
5.2.2 MongoDB 的基本命令 ................................................................................................................... 133
5.2.3 在 Node.js 中操作 MongoDB......................................................................................................... 138
5.3 Node.js 操作 Redis ...................................................................................................................................... 142
5.3.1 安裝 Redis........................................................................................................................................ 142
5.3.2 Redis 的基本命令............................................................................................................................ 145
5.3.3 在 Node.js 中使用 Reids ................................................................................................................. 151
5.4 本章小結 ...................................................................................................................................................... 153
·VII· Node.js 全棧開發:從入門到項目實戰
第 2 篇 Node.js 開發主流框架
第 6 章 Express 框架 ....................................................................................................... 156
6.1 Express 框架入門 ........................................................................................................................................ 156
6.1.1 Express 簡介 .................................................................................................................................... 156
6.1.2 Express 的基本用法........................................................................................................................ 157
6.1.3 托管靜態資源.................................................................................................................................. 161
6.2 Express 路由 ................................................................................................................................................ 163
6.2.1 路由簡介.......................................................................................................................................... 163
6.2.2 路由的用法...................................................................................................................................... 165
6.3 Express 中間件 ............................................................................................................................................ 166
6.3.1 中間件簡介...................................................................................................................................... 166
6.3.2 中間件的分類.................................................................................................................................. 170
6.3.3 自定義中間件.................................................................................................................................. 175
6.4 使用 Express 編寫接口 ............................................................................................................................... 178
6.4.1 Web 開發模式 ................................................................................................................................. 178
6.4.2 編寫 RESTfull API.......................................................................................................................... 179
6.4.3 跨域問題.......................................................................................................................................... 182
6.4.4 身份認證.......................................................................................................................................... 191
6.5 常用的 API................................................................................................................................................... 205
6.5.1 模塊方法.......................................................................................................................................... 205
6.5.2 Application 對象.............................................................................................................................. 205
6.5.3 Request 對象.................................................................................................................................... 206
6.5.4 Response 對象 ................................................................................................................................. 206
6.5.5 Router 對象...................................................................................................................................... 206
6.6 本章小結 ...................................................................................................................................................... 206
第 7 章 Koa 框架.............................................................................................................. 207
7.1 Koa 簡介 ...................................................................................................................................................... 207
7.1.1 Koa 框架的發展.............................................................................................................................. 207
7.1.2 創建 Hello World 程序 ................................................................................................................... 208
7.1.3 Koa 與 Express 的區別 ................................................................................................................... 209
7.2 Context 上下文對象 .................................................................................................................................... 210
7.2.1 Context 上下文 ................................................................................................................................210
7.2.2 Request 對象.................................................................................................................................... 211
7.2.3 Response 對象 ................................................................................................................................. 212
7.3 Koa 路由 ...................................................................................................................................................... 213
7.3.1 路由的基本用法.............................................................................................................................. 213
7.3.2 接收請求數據.................................................................................................................................. 214
7.3.3 路由重定向...................................................................................................................................... 218
·VIII · 目錄
7.4 Koa 中間件 .................................................................................................................................................. 219
7.4.1 中間件的概念.................................................................................................................................. 219
7.4.2 靜態資源托管.................................................................................................................................. 223
7.4.3 常用的中間件.................................................................................................................................. 225
7.4.4 異常處理.......................................................................................................................................... 226
7.5 本章小結 ...................................................................................................................................................... 230
第 8 章 Egg 框架.............................................................................................................. 231
8.1 Egg 簡介....................................................................................................................................................... 231
8.1.1 Egg 是什麽 ...................................................................................................................................... 231
8.1.2 第一個 Egg 程序 ............................................................................................................................. 233
8.2 Egg 路由....................................................................................................................................................... 236
8.2.1 定義路由.......................................................................................................................................... 236
8.2.2 RESTfull 風格的路由 ..................................................................................................................... 237
8.2.3 獲取參數.......................................................................................................................................... 238
8.2.4 獲取表單內容.................................................................................................................................. 240
8.2.5 路由重定向...................................................................................................................................... 241
8.3 Egg 控制器................................................................................................................................................... 242
8.3.1 編寫控制器...................................................................................................................................... 243
8.3.2 獲取 HTTP 請求參數...................................................................................................................... 245
8.3.3 調用 Service 層................................................................................................................................247
8.3.4 發送 HTTP 響應.............................................................................................................................. 247
8.4 Egg 的 Service.............................................................................................................................................. 248
8.4.1 Service 的概念................................................................................................................................. 248
8.4.2 使用 Service..................................................................................................................................... 249
8.5 Egg 中間件................................................................................................................................................... 250
8.5.1 編寫中間件...................................................................................................................................... 251
8.5.2 使用中間件...................................................................................................................................... 252
8.6 Egg 插件....................................................................................................................................................... 254
8.6.1 插件簡介.......................................................................................................................................... 254
8.6.2 常用的插件...................................................................................................................................... 255
8.6.3 數據庫插件...................................................................................................................................... 256
8.7 本章小結 ...................................................................................................................................................... 259
第 3 篇 項目實戰
第 9 章 百果園微信商城需求分析..................................................................................... 262
9.1 需求分析 ...................................................................................................................................................... 262
9.2 技術選型 ...................................................................................................................................................... 264
9.3 環境準備 ...................................................................................................................................................... 264
9.4 本章小結 ...................................................................................................................................................... 266
·IX· Node.js 全棧開發:從入門到項目實戰
第 10 章 百果園微信商城架構設計 .................................................................................. 267
10.1 系統架構 .................................................................................................................................................... 267
10.2 數據庫設計................................................................................................................................................ 269
10.3 本章小結 .................................................................................................................................................... 274
第 11 章 百果園微信商城後端 API 服務........................................................................... 275
11.1 項目搭建 .................................................................................................................................................... 275
11.1.1 項目初始化.................................................................................................................................... 275
11.1.2 封裝返回 JSON ............................................................................................................................. 276
11.1.3 路由模塊化配置............................................................................................................................ 277
11.2 接口安全校驗............................................................................................................................................ 278
11.2.1 Token 校驗..................................................................................................................................... 278
11.2.2 登錄校驗........................................................................................................................................ 281
11.2.3 接口授權........................................................................................................................................ 288
11.3 登錄接口 .................................................................................................................................................... 290
11.3.1 數據庫的初始化............................................................................................................................ 290
11.3.2 用 ORM 實現查詢 ........................................................................................................................ 292
11.3.3 密碼加密........................................................................................................................................ 295
11.3.4 日誌封裝........................................................................................................................................ 296
11.4 接口權限驗證............................................................................................................................................ 298
11.4.1 攔截模塊的方法............................................................................................................................ 298
11.4.2 權限驗證通過的處理.................................................................................................................... 300
11.4.3 權限驗證失敗的處理.................................................................................................................... 303
11.4.4 權限驗證的實現............................................................................................................................ 304
11.5 商品分類管理 API .................................................................................................................................... 310
11.5.1 添加商品分類................................................................................................................................310
11.5.2 獲取分類列表................................................................................................................................312
11.5.3 獲取指定的分類............................................................................................................................ 316
11.5.4 修改指定的分類............................................................................................................................ 317
11.5.5 刪除指定的分類............................................................................................................................ 318
11.6 分類參數管理 API .................................................................................................................................... 319
11.6.1 添加分類參數................................................................................................................................319
11.6.2 獲取分類參數列表........................................................................................................................ 321
11.6.3 獲取分類參數詳情........................................................................................................................ 322
11.6.4 修改分類參數................................................................................................................................323
11.6.5 刪除分類參數................................................................................................................................324
11.7 商品管理 API ............................................................................................................................................ 325
11.7.1 上傳圖片........................................................................................................................................ 326
11.7.2 添加商品........................................................................................................................................ 327
11.7.3 獲取商品列表................................................................................................................................339
11.7.4 刪除商品........................................................................................................................................ 341
·X· 目錄
11.7.5 修改商品........................................................................................................................................ 342
11.7.6 獲取商品詳情................................................................................................................................343
11.8 小程序端 API ............................................................................................................................................ 344
11.8.1 獲取最新商品列表........................................................................................................................ 345
11.8.2 獲取商品詳情................................................................................................................................346
11.8.3 獲取分類列表................................................................................................................................346
11.8.4 根據分類獲取商品........................................................................................................................ 347
11.9 本章小結 .................................................................................................................................................... 347
第 12 章 百果園微信商城 Vue 管理後台 .......................................................................... 348
12.1 Vue 項目搭建 ............................................................................................................................................ 348
12.1.1 創建項目........................................................................................................................................ 348
12.1.2 搭建路由........................................................................................................................................ 349
12.1.3 使用 Element-UI 製作組件........................................................................................................... 353
12.2 登錄頁面及其功能的實現........................................................................................................................ 353
12.2.1 安裝並設置 Axios ......................................................................................................................... 353
12.2.2 實現登錄和退出功能.................................................................................................................... 354
12.3 分類管理功能的實現................................................................................................................................357
12.3.1 獲取分類列表................................................................................................................................357
12.3.2 添加分類........................................................................................................................................ 358
12.3.3 修改分類........................................................................................................................................ 360
12.3.4 刪除分類........................................................................................................................................ 362
12.4 分類參數管理功能的實現........................................................................................................................ 363
12.4.1 獲取分類參數列表........................................................................................................................ 363
12.4.2 添加分類參數................................................................................................................................365
12.4.3 修改分類參數................................................................................................................................366
12.4.4 刪除分類參數................................................................................................................................367
12.4.5 添加參數標簽................................................................................................................................368
12.4.6 刪除參數標簽................................................................................................................................369
12.5 商品管理功能的實現................................................................................................................................369
12.5.1 獲取商品列表................................................................................................................................369
12.5.2 搜索商品........................................................................................................................................ 371
12.5.3 添加商品........................................................................................................................................ 371
12.5.4 刪除商品........................................................................................................................................ 377
12.5.5 修改商品........................................................................................................................................ 377
12.6 本章小結 .................................................................................................................................................... 382
第 13 章 百果園微信商城小程序 ...................................................................................... 383
13.1 搭建項目 .................................................................................................................................................... 383
13.1.1 項目創建及配置............................................................................................................................ 383
13.1.2 配置 tabBar .................................................................................................................................... 384
·XI· Node.js 全棧開發:從入門到項目實戰
13.1.3 製作靜態頁面................................................................................................................................385
13.2 封裝公共功能............................................................................................................................................ 392
13.2.1 封裝公共變量................................................................................................................................392
13.2.2 封裝網絡請求................................................................................................................................392
13.3 首頁 ............................................................................................................................................................ 393
13.3.1 首頁功能說明................................................................................................................................393
13.3.2 封裝業務邏輯................................................................................................................................393
13.3.3 獲取接口數據................................................................................................................................394
13.3.4 渲染頁面數據................................................................................................................................395
13.4 列表頁........................................................................................................................................................ 396
13.4.1 傳遞分類參數................................................................................................................................396
13.4.2 接口數據渲染................................................................................................................................396
13.5 詳情頁........................................................................................................................................................ 398
13.5.1 傳遞商品參數................................................................................................................................398
13.5.2 封裝業務邏輯................................................................................................................................398
13.5.3 獲取商品數據................................................................................................................................399
13.5.4 渲染商品數據................................................................................................................................399
13.6 本章小結 .................................................................................................................................................... 401
第 14 章 百果園微信商城項目部署與發布........................................................................ 402
14.1 Node.js 接口部署....................................................................................................................................... 402
14.2 小程序發布................................................................................................................................................ 405
14.3 管理後台部署............................................................................................................................................ 408
14.4 本章小結 .................................................................................................................................................... 409
第 15 章 百果園微信商城性能優化初探 ........................................................................... 411
15.1 Node.js 程序優化....................................................................................................................................... 411
15.2 小程序優化................................................................................................................................................ 412
15.3 Vue 程序優化 ............................................................................................................................................ 414
15.4 本章小結 .................................................................................................................................................... 416
·XII ·