《Node.js+Vue.js+MangoDB全棧開發實戰》已出版 《Vue3.x+TypeScript實踐指南》 《ASP.NET MVC企業級實戰》

《Node.js+Vue.js+MangoDB全棧開發實戰》

圖書購買地址:

京東:《Node.js+Vue.js+MangoDB全棧開發實戰》

噹噹:《Node.js+Vue.js+MangoDB全棧開發實戰》

天貓:《Node.js+Vue.js+MangoDB全棧開發實戰》

隨書源碼下載地址:

鏈接:https://pan.baidu.com/s/1DQYgPZLmtJCIuDXs8gub_w?pwd=1127
提取碼:1127

課件下載地址:

本書提供PPT課件,請聯繫作者或者出版社!

隨書目錄

目    錄

第1章  Node.js和TypeScript基礎·································································· 1

1.1  Node.js開發概述······································································································· 1

1.1.1  爲什麼要學習Node.js························································································ 1

1.1.2  什麼是Node.js································································································· 2

1.1.3  Node.js特點···································································································· 3

1.1.4  var、let和const的區別······················································································ 3

1.1.5  開發工具········································································································ 4

1.2  Node運行環境搭建···································································································· 5

1.2.1  Node.js運行環境安裝························································································ 5

1.2.2  Node環境安裝失敗解決辦法··············································································· 6

1.2.3  代碼有無分號的問題························································································· 6

1.3  Node.js快速入門······································································································· 7

1.3.1  Node.js的組成································································································· 7

1.3.2  Node.js基礎語法······························································································ 7

1.3.3  Node.js全局對象global······················································································ 7

1.4  nvm簡介、安裝、使用······························································································· 8

1.5  VS Code的使用········································································································· 9

1.5.1  忽略node_module目錄····················································································· 10

1.5.2  安裝VS Code插件·························································································· 10

1.5.3  打開並運行項目······························································································ 12

1.5.4  VS Code配置································································································· 14

1.5.5  搜索············································································································· 15

第2章  模塊加載及第三方包········································································· 17

2.1  Node.js模塊化開發··································································································· 17

2.1.1  JavaScript開發弊端·························································································· 17

2.1.2  模塊化·········································································································· 18

2.1.3  Node.js中模塊化開發規範················································································· 18

2.1.4  exports和module.exports的區別········································································· 20

2.1.5  require優先從緩存加載····················································································· 21

2.2  系統模塊················································································································ 22

2.2.1  什麼是系統模塊······························································································ 22

2.2.2  系統模塊fs文件操作······················································································· 22

2.2.3  系統模塊path路徑操作···················································································· 24

2.2.4  相對路徑VS絕對路徑····················································································· 24

2.3  第三方模塊············································································································· 25

2.3.1  什麼是第三方模塊··························································································· 25

2.3.2  獲取第三方模塊······························································································ 25

2.3.3  npm············································································································· 25

2.3.4  yarn············································································································· 26

2.3.5  yarn和npm的區別·························································································· 27

2.3.6  第三方模塊nrm······························································································ 28

2.3.7  第三方模塊nodemon························································································ 29

2.3.8  第三方模塊 gulp····························································································· 29

2.3.9  npx·············································································································· 36

2.4  package.json文件······································································································ 37

2.4.1  node_modules目錄的問題·················································································· 37

2.4.2  package.json文件的作用···················································································· 38

2.4.3  項目依賴和開發依賴························································································ 38

2.4.4  package.json文件各個選項含義··········································································· 38

2.4.5  package-lock.json文件的作用·············································································· 40

2.4.6  yarn.lock的作用······························································································ 40

2.5  Node.js中模塊的加載機制·························································································· 41

2.5.1  模塊查找規則:當模塊擁有路徑但沒有後綴時······················································· 41

2.5.2  模塊查找規則:當模塊沒有路徑且沒有後綴時······················································· 41

第3章  HTTP及Node異步編程···································································· 44

3.1  C/S、B/S軟件體系結構分析······················································································· 44

3.2  服務器端基礎概念···································································································· 45

3.2.1  網站的組成···································································································· 45

3.2.2  網站服務器···································································································· 46

3.2.3  IP地址········································································································· 46

3.2.4  域名············································································································· 47

3.2.5  端口············································································································· 48

3.2.6  URL············································································································· 49

3.2.7  客戶端和服務器端··························································································· 49

3.3  創建web服務器······································································································ 49

3.4  HTTP協議·············································································································· 51

3.4.1  HTTP協議的概念··························································································· 51

3.4.2  報文············································································································· 51

3.4.3  請求報文······································································································· 52

3.4.4  響應報文······································································································· 57

3.5  HTTP請求與響應處理······························································································· 58

3.5.1  請求參數······································································································· 58

3.5.2  GET請求參數································································································ 58

3.5.3  POST請求參數······························································································ 59

3.5.4  路由············································································································· 60

3.5.5  靜態資源······································································································· 61

3.5.6  動態資源······································································································· 62

3.5.7  客戶端請求方式······························································································ 63

3.6  Node.js異步編程······································································································ 64

3.6.1  同步API,異步API························································································ 64

3.6.2  同步API,異步API的區別·············································································· 64

3.6.3  回調函數······································································································· 66

3.6.4  Node.js中的異步API······················································································· 66

3.6.5  Promise········································································································· 68

3.6.6  異步函數async和await···················································································· 70

第4章  MongoDB數據庫············································································ 72

4.1  數據庫概述············································································································· 72

4.1.1  爲什麼要使用數據庫························································································ 72

4.1.2  什麼是數據庫································································································· 72

4.1.3  MongoDB數據庫相關概念················································································ 73

4.2  MongoDB數據庫環境搭建························································································· 75

4.2.1  MongoDB數據庫下載安裝················································································ 75

4.2.2  啓動MongoDB······························································································· 78

4.3  MongoDB操作········································································································ 78

4.3.1  MongoDB的Shell操作···················································································· 78

4.3.2  MongoDB可視化軟件······················································································ 83

4.3.3  MongoDB導入導出數據··················································································· 85

4.4  MongoDB索引介紹及數據庫命令操作·········································································· 86

4.4.1  創建簡單索引································································································· 86

4.4.2  唯一索引······································································································· 88

4.4.3  刪除重複值···································································································· 88

4.4.4  Hint············································································································· 88

4.4.5  Expain·········································································································· 88

4.4.6  索引管理······································································································· 90

4.5  MongoDB備份與恢復······························································································· 91

4.5.1  MongoDB數據庫備份······················································································ 91

4.5.2  MongoDB數據庫恢復······················································································ 91

4.6  Mongoose數據庫連接······························································································· 93

4.7  Mongoose增刪改查操作···························································································· 93

4.7.1  創建數據庫···································································································· 94

4.7.2  創建集合······································································································· 95

4.7.3  創建文檔······································································································· 95

4.7.4  查詢文檔······································································································· 96

4.7.5  刪除文檔····································································································· 101

4.7.6  更新文檔····································································································· 101

4.7.7  mongoose驗證······························································································ 102

4.7.8  集合關聯····································································································· 103

第5章  art-template模板引擎······································································ 106

5.1  模板引擎的基礎概念······························································································· 106

5.1.1  模板引擎····································································································· 106

5.1.2  art-template簡介····························································································· 107

5.2  模板引擎語法········································································································ 110

5.2.1  輸出··········································································································· 110

5.2.2  原文輸出····································································································· 110

5.2.3  條件判斷····································································································· 110

5.2.4  循環··········································································································· 110

5.2.5  子模板········································································································ 111

5.2.6  模板繼承····································································································· 111

5.2.7  模板配置····································································································· 112

5.3  案例——用戶管理·································································································· 113

5.3.1  案例介紹····································································································· 113

5.3.2  操作步驟····································································································· 115

第6章  Express框架················································································ 125

6.1  Express框架簡介···································································································· 125

6.1.1  Express框架是什麼························································································ 125

6.1.2  Express框架特性··························································································· 125

6.2  中間件················································································································· 126

6.2.1  什麼是中間件······························································································· 126

6.2.2  app.use中間件用法························································································ 127

6.2.3  中間件應用·································································································· 128

6.2.4  錯誤處理中間件···························································································· 129

6.2.5  捕獲異常····································································································· 130

6.3  Express請求處理···································································································· 131

6.3.1  構建路由····································································································· 131

6.3.2  構建模塊化路由···························································································· 132

6.3.3  GET參數的獲取···························································································· 132

6.3.4  POST參數的獲取·························································································· 133

6.3.5  Express路由參數··························································································· 134

6.3.6  靜態資源處理······························································································· 135

6.4  express-art-template模板引擎······················································································ 135

6.5  express-session········································································································ 136

6.5.1  Session簡單介紹··························································································· 136

6.5.2  express-session的使用····················································································· 136

6.5.3  express-session 的常用參數·············································································· 137

第7章  TypeScript介紹············································································ 138

7.1  TypeScript基礎······································································································· 138

7.1.1  TypeScript簡介····························································································· 138

7.1.2  TypeScript的特點·························································································· 139

7.1.3  安裝TypeScript····························································································· 139

7.1.4  ts和js的區別······························································································· 140

7.1.5  編寫TS程序································································································ 140

7.1.6  手動編譯代碼······························································································· 141

7.1.7  VS Code自動編譯························································································· 142

7.1.8  類型註解····································································································· 143

7.1.9  vite快速創建ts開發環境················································································· 144

7.2  基礎類型·············································································································· 145

7.2.1  布爾值········································································································ 145

7.2.2  數字··········································································································· 146

7.2.3  字符串········································································································ 146

7.2.4  undefined和null···························································································· 146

7.2.5  數組··········································································································· 147

7.2.6  元組Tuple···································································································· 147

7.2.7  枚舉··········································································································· 147

7.2.8  any············································································································· 148

7.2.9  void············································································································ 148

7.2.10  Never········································································································ 149

7.2.11  Object········································································································ 149

7.2.12  聯合類型···································································································· 149

7.2.13  類型斷言···································································································· 150

7.2.14  類型推斷···································································································· 150

7.3  接口···················································································································· 151

7.3.1  接口初探····································································································· 151

7.3.2  可選屬性?···································································································· 151

7.3.3  只讀屬性readonly·························································································· 152

7.3.4  函數類型····································································································· 152

7.3.5  類類型········································································································ 153

7.4  類······················································································································· 154

7.4.1  基本示例····································································································· 154

7.4.2  繼承··········································································································· 154

7.4.3  公共,私有與受保護的修飾符·········································································· 157

7.4.4  readonly 修飾符···························································································· 158

7.4.5  存取器········································································································ 158

7.4.6  靜態屬性····································································································· 159

7.4.7  抽象類········································································································ 160

7.5  函數···················································································································· 160

7.5.1  基本示例····································································································· 160

7.5.2  函數類型····································································································· 161

7.5.3  可選參數和默認參數······················································································ 161

7.5.4  剩餘參數····································································································· 161

7.5.5  函數重載····································································································· 162

7.6  泛型···················································································································· 162

7.6.1  泛型引入····································································································· 163

7.6.2  使用函數泛型······························································································· 163

7.6.3  多個泛型參數的函數······················································································ 163

7.6.4  泛型接口····································································································· 163

7.6.5  泛型類········································································································ 164

7.6.6  泛型約束····································································································· 165

7.7  聲明文件和內置對象······························································································· 165

7.7.1  聲明文件····································································································· 165

7.7.2  內置對象····································································································· 166

第8章  文章管理系統··············································································· 168

8.1  項目環境搭建········································································································ 168

8.1.1  項目介紹····································································································· 168

8.1.2  項目框架搭建······························································································· 169

8.2  項目功能實現········································································································ 176

8.2.1  登錄··········································································································· 176

8.2.2  文章管理····································································································· 191

8.2.3  用戶管理····································································································· 203

8.2.4  網站首頁文章展示························································································· 207

8.2.5  文章評論····································································································· 208

8.2.6  訪問權限控制······························································································· 210

8.3  項目源碼和運行····································································································· 211

第9章  後臺管理系統··············································································· 213

9.1  項目介紹·············································································································· 213

9.1.1  項目介紹····································································································· 213

9.1.2  技術選型····································································································· 215

9.2  項目搭建·············································································································· 216

9.3  後端項目搭建········································································································ 217

9.3.1  搭建node web服務器項目··············································································· 217

9.3.2  數據庫初始化······························································································· 226

9.3.3  啓動web服務器···························································································· 227

9.3.4  接口測試····································································································· 227

9.4  前端項目搭建········································································································ 228

9.4.1  基礎目錄結構構建························································································· 228

9.4.2  配置pinia····································································································· 232

9.4.3  準備路由環境······························································································· 234

9.4.4  封裝接口請求······························································································· 234

9.4.5  搭建主界面·································································································· 237

9.4.6  配置路由····································································································· 243

9.4.7  構建系統後臺首頁························································································· 246

9.4.8  用戶列表····································································································· 248

9.4.9  新增/編輯用戶······························································································ 253

9.4.10  配置代理···································································································· 258

9.5  項目運行·············································································································· 258

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章