Node.js Web開發實戰(慕課版 第2版)AIGC高效編程
穆寶良 王秀華
商品描述
本書以實戰為核心,系統、全面地介紹了使用Node.js進行Web應用開發的相關知識。全書共14章,內容包括初識Node.js、JavaScript基礎、Node.js基礎、異步編程與包管理、http模塊、Web開發中的模板引擎、Node.js中的文件操作、express模塊、MySQL數據庫、Express框架、socket.io模塊、MongoDB數據庫、綜合項目——全棧開發博客網、綜合項目——網絡版五子棋。本書所有知識都結合具體實例進行介紹,力求詳略得當,可使讀者快速掌握Node.js開發的方法。同時,前12章均設計了上機指導實驗,供讀者實踐練習。
近年來,AIGC技術高速發展,成為各行各業高質量發展和生產效率提升的重要推動力。本書將AIGC技術融入理論學習、程序編寫、復雜系統開發等環節,幫助讀者提升編程效率。
本書可作為應用型本科計算機專業、軟件工程專業和高職軟件及相關專業的教材,也可作為網站開發愛好者及初、中級Node.js開發人員的參考書。
作者簡介
穆寶良,男,畢業於吉林大學計算機科學專業,現為沈陽師範大學副教授。研究方向為多模態學習、多agent技術、計算機圖形學、計算機視覺、自然語言處理。主持參與國家自然科學基金項目1項,教育部產學項目6項,省教育廳、財政廳教改項目等10余項,發表科研、教學論文10余篇。2019年開始深度學習研究,先後參加百度、谷歌的多期深度學習培訓,指導學生參加深度學習相關的比賽,多次獲獎。
目錄大綱
第 1章 初識Node.js 1
1.1 Node.js簡介 1
1.1.1 Web和互聯網 1
1.1.2 V8引擎和Node.js 2
1.1.3 Node.js的優缺點 3
1.2 Node.js的安裝 3
1.2.1 Node.js的下載與安裝 4
1.2.2 測試Node.js是否安裝成功 6
1.2.3 CMD控制臺中常見的命令 6
1.3 WebStorm代碼編輯器 7
1.3.1 WebStorm的下載與安裝 8
1.3.2 運行JavaScript程序 9
1.4 第 一個Node.js服務器程序 11
1.4.1 創建項目 12
1.4.2 啟動Node.js服務器 13
1.5 在WebStorm中引入AIGC工具 14
1.5.1 AIGC編程助手Baidu Comate 14
1.5.2 AIGC編程助手TONGYI Lingma 14
1.5.3 DeepSeek R1推理大模型 15
小結 15
上機指導 15
習題 16
第 2章 JavaScript基礎 17
2.1 JavaScript概述 17
2.1.1 什麼是JavaScript 17
2.1.2 為什麼學習JavaScript 18
2.1.3 JavaScript的應用 18
2.2 JavaScript數據類型 20
2.2.1 數值型 20
2.2.2 字符串型 23
2.2.3 布爾值和特殊數據類型 25
2.3 JavaScript基本語句 25
2.3.1 條件判斷語句 26
2.3.2 循環語句 30
2.4 JavaScript函數 33
2.4.1 函數的定義 33
2.4.2 函數的調用 34
2.5 AIGC輔助快速學習 36
2.5.1 AIGC輔助添加註釋 36
2.5.2 AIGC輔助解釋代碼 37
2.5.3 AIGC輔助查詢術語 37
小結 38
上機指導 38
習題 39
第3章 Node.js基礎 40
3.1 Node.js全局變量、全局對象和全局函數 40
3.1.1 全局變量 40
3.1.2 全局對象 41
3.1.3 全局函數 45
3.2 模塊化編程 46
3.2.1 exports對象 46
3.2.2 module對象 47
3.3 基本內置模塊 48
3.3.1 os模塊 48
3.3.2 url模塊 50
3.3.3 querystring模塊 50
3.3.4 util模塊 51
3.3.5 crypto模塊 52
3.4 AIGC輔助編程 52
3.4.1 實現簡單的數學運算 53
3.4.2 格式化字符串 54
小結 54
上機指導 54
習題 55
第4章 異步編程與包管理 56
4.1 異步編程 56
4.1.1 同步和異步 56
4.1.2 回調函數 58
4.2 事件驅動 60
4.2.1 添加監聽事件 60
4.2.2 刪除監聽事件 62
4.2.3 主動觸發監聽事件 64
4.2.4 EventEmitter對象 64
4.3 包管理 66
4.3.1 包的概念 66
4.3.2 NPM的概念 67
4.3.3 NPM的基本應用 68
4.4 AIGC輔助編程 69
4.4.1 使用emit()方法觸發事件 69
4.4.2 使用異步操作輸出內容 69
小結 70
上機指導 70
習題 71
第5章 http模塊 72
5.1 Web應用開發 72
5.1.1 請求與響應 72
5.1.2 客戶端與服務端 73
5.2 server對象 74
5.2.1 server對象中的方法 74
5.2.2 server對象中的事件 75
5.3 response對象 76
5.3.1 響應HTML文件 77
5.3.2 響應多媒體 79
5.3.3 網頁自動跳轉 80
5.4 request對象 82
5.4.1 GET請求 82
5.4.2 POST請求 83
5.5 AIGC輔助編程 85
5.5.1 返回JSON內容 85
5.5.2 創建服務器並處理GET請求 86
小結 87
上機指導 87
習題 88
第6章 Web開發中的模板引擎 89
6.1 EJS模塊 89
6.1.1 EJS模塊的渲染 89
6.1.2 EJS模塊的數據傳遞 93
6.2 Pug模塊 95
6.2.1 Pug模塊的渲染方法 95
6.2.2 Pug模塊的數據傳遞 97
6.3 AIGC輔助編程 99
6.3.1 使用EJS模塊渲染學生列表 99
6.3.2 使用Pug模塊渲染商品信息 100
小結 101
上機指導 101
習題 103
第7章 Node.js中的文件操作 104
7.1 文件基本操作 104
7.1.1 文件的讀取 104
7.1.2 文件的寫入 105
7.1.3 異常處理 106
7.2 文件的其他操作 107
7.2.1 截取文件 107
7.2.2 刪除文件 108
7.2.3 復制文件 108
7.3 目錄常用操作 110
7.3.1 創建目錄 110
7.3.2 讀取目錄 111
7.3.3 刪除空目錄 112
7.3.4 查看目錄信息 112
7.3.5 檢查目錄是否存在 114
7.3.6 獲取目錄的絕對路徑 114
7.4 AIGC輔助編程 115
7.4.1 讀取JSON文件 115
7.4.2 寫入文件後讀取文件 116
小結 116
上機指導 116
習題 117
第8章 express模塊 118
8.1 認識express模塊 118
8.1.1 創建Web服務器 118
8.1.2 express模塊中的響應對象 119
8.1.3 express模塊中的請求對象 120
8.2 express模塊中的中間件 122
8.2.1 什麼是中間件 122
8.2.2 router中間件 124
8.2.3 static中間件 125
8.2.4 cookie-parser中間件 126
8.2.5 body-parser中間件 127
8.3 實現RESTful Web服務 129
8.3.1 創建數據庫 130
8.3.2 實現GET請求 131
8.3.3 實現POST請求 132
8.4 AIGC輔助編程 134
8.4.1 響應用戶對象信息 134
8.4.2 設置和讀取Cookie的值 134
小結 135
上機指導 135
習題 137
第9章 MySQL數據庫 138
9.1 MySQL數據庫的下載與安裝 138
9.1.1 SQL 138
9.1.2 MySQL的下載與安裝 139
9.2 MySQL數據庫的基本操作 141
9.2.1 創建數據庫 141
9.2.2 創建數據表 143
9.2.3 添加數據 144
9.2.4 查詢數據 146
9.2.5 修改數據 148
9.2.6 刪除數據 149
9.3 Node.js中的mysql2模塊 150
9.3.1 mysql2模塊的基本操作 150
9.3.2 使用mysql2模塊顯示商品列表 152
9.3.3 使用mysql2模塊添加商品信息 154
9.4 AIGC輔助編程 156
9.4.1 添加新聞數據並查詢 156
9.4.2 刪除新聞信息 157
小結 159
上機指導 159
習題 161
第 10章 Express框架 162
10.1 認識Express框架 162
10.1.1 創建項目 162
10.1.2 設置項目參數 165
10.2 詳解app.js 166
10.2.1 創建Web服務器 166
10.2.2 設置中間件 167
10.2.3 設置路由 168
10.2.4 頁面渲染 168
10.3 項目實戰—制作用戶註冊頁面 169
10.3.1 服務端代碼實現 170
10.3.2 客戶端代碼實現 172
10.3.3 執行項目 173
10.4 AIGC輔助編程 173
10.4.1 添加商品信息 174
10.4.2 刪除商品信息 176
小結 176
上機指導 177
習題 181
第 11章 socket.io模塊 182
11.1 socket.io模塊的基本操作 182
11.1.1 創建WebSocket服務器 182
11.1.2 創建WebSocket客戶端 183
11.1.3 創建WebSocket事件 184
11.2 socket通信的類型 187
11.2.1 public通信類型 187
11.2.2 broadcast通信類型 188
11.2.3 private通信類型 190
11.3 項目實戰—制作聊天室 191
11.3.1 服務端代碼實現 192
11.3.2 客戶端代碼實現 192
11.3.3 執行項目 194
11.4 AIGC輔助編程 195
11.4.1 實現消息通知 195
11.4.2 創建基本的聊天應用 196
小結 199
上機指導 200
習題 201
第 12章 MongoDB數據庫 202
12.1 認識MongoDB數據庫 202
12.1.1 關系數據庫和非關系數據庫 202
12.1.2 MongoDB數據庫的下載與安裝 203
12.1.3 MongoDB Shell的下載與安裝 206
12.2 MongoDB數據庫的基本操作 207
12.2.1 使用JavaScript 207
12.2.2 數據庫、集合與文檔 208
12.2.3 添加文檔 209
12.2.4 查詢文檔 210
12.2.5 修改文檔 211
12.2.6 刪除文檔 212
12.3 項目實戰—查詢和添加用戶信息 212
12.3.1 創建數據庫 212
12.3.2 服務端代碼實現 213
12.3.3 客戶端代碼實現 215
12.3.4 啟動服務器並運行項目 217
12.4 AIGC輔助編程 217
12.4.1 查詢歌曲信息 217
12.4.2 添加歌曲信息 220
小結 221
上機指導 221
習題 223
第 13章 綜合項目—全棧開發博客網 224
13.1 項目的設計思路 224
13.1.1 項目概述 224
13.1.2 頁面效果預覽 224
13.1.3 功能結構 226
13.1.4 文件夾組織結構 227
13.2 註冊功能的設計與實現 227
13.2.1 註冊功能的設計 227
13.2.2 頂部區和底部區功能的實現 228
13.2.3 註冊功能的實現 230
13.3 登錄功能的設計與實現 232
13.3.1 登錄功能的設計 232
13.3.2 登錄功能的實現 232
13.4 文章功能的設計與實現 234
13.4.1 文章功能的設計 234
13.4.2 文章發表功能的實現 236
13.4.3 個人主頁的實現 238
13.4.4 文章修改功能的實現 240
13.4.5 文章刪除功能的實現 241
13.5 留言功能的設計與實現 243
13.5.1 留言功能的設計 243
13.5.2 留言功能的實現 243
13.6 AIGC輔助分析優化項目 245
13.6.1 AIGC輔助提供項目開發思路 245
13.6.2 AIGC輔助優化項目代碼 248
13.6.3 AIGC輔助完善項目 249
小結 251
第 14章 綜合項目—網絡版五子棋 252
14.1 項目的設計思路 252
14.2 項目概述 253
14.2.1 功能結構 253
14.2.2 項目構成 253
14.3 進入遊戲房間功能的設計與實現 254
14.3.1 進入遊戲房間功能的設計 254
14.3.2 進入遊戲房間功能的實現 254
14.4 玩家列表的設計與實現 255
14.4.1 玩家列表的設計 255
14.4.2 玩家列表的實現 256
14.5 遊戲對戰邏輯的設計與實現 257
14.5.1 遊戲對戰邏輯的設計 257
14.5.2 遊戲對戰邏輯的實現 258
小結 260

