Node.js全棧開發

潘成均

  • 出版商: 清華大學
  • 出版日期: 2024-06-01
  • 售價: $714
  • 貴賓價: 9.5$678
  • 語言: 簡體中文
  • ISBN: 7302663025
  • ISBN-13: 9787302663027
  • 相關分類: Node.js
  • 立即出貨

  • Node.js全棧開發-preview-1
  • Node.js全棧開發-preview-2
  • Node.js全棧開發-preview-3
Node.js全棧開發-preview-1

買這商品的人也買了...

相關主題

商品描述

《Node.js全棧開發:從入門到項目實戰》從Node.js的基本概念講起,逐步深入基於Node.js的主流開發框架技術,最後結合完整的項目案例重點介紹基於Node.js的微信商城項目開發的全過程,幫助讀者系統地掌握Node.js全棧開發技術,從而具備開發商業級應用的能力。 《Node.js全棧開發:從入門到項目實戰》共15章,分為3篇。第1篇為Node.js開發基礎知識,主要介紹Node.js入門知識、Node.js模塊化管理、JavaScript基礎知識、Node.js的內置模塊、數據庫操作等。第2篇為Node.js開發主流框架,主要介紹Express框架、Koa框架和Egg框架。第3篇為項目實戰,主要基於Node.js+MySQL+Vue,開發一個完整的微信商城項目,演示完整的商業級全棧項目開發的全過程,並簡單介紹Node.js程序、微信小程序和Vue程序性能優化涉及的相關知識。 《Node.js全棧開發:從入門到項目實戰》通俗易懂,案例典型,實用性強,特別適合Node.js全棧開發的入門和進階人員閱讀,也適合前後端項目開發人員和Java程序員等編程愛好者閱讀,還適合作為高校和相關培訓機構的實踐教材。

目錄大綱

                                                    

                                                                                       目錄 

                                                                                                   

      

                           第   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 ·