MEAN 全棧開發 : 使用Mongo、Express、 Angular 和 Node, 2/e (Getting MEAN with Mongo, Express, Angular, and Node ,2/e)

MEAN 全棧開發 : 使用Mongo、Express、 Angular 和 Node, 2/e (Getting MEAN with Mongo, Express, Angular, and Node ,2/e)

作者: [美]西蒙·霍姆斯(Simon Holmes) [美]克萊夫·哈伯(Clive Harber) 顏宇 王威 谷守闖 譯
出版社: 清華大學
出版在: 2020-06-01
ISBN-13: 9787302551850
ISBN-10: 7302551855
總頁數: 536 頁





內容描述


● MongoDB 4、Express 4、Angular 7和Node.js 11
● MEAN技術棧架構
● 適用於移動設備的Web應用
● 關於效率和可重用性方面的更佳實踐


目錄大綱


目 錄
Ⅰ部分 設置基線
1章 全棧開發介紹 3
1.1 為何學習全棧 4
1.1.1 Web開發簡史 4
1.1.2 全棧開發的趨勢 6
1.1.3 學習全棧開發的益處 7
1.1.4 為何專門介紹MEAN 7
1.2 de.js介紹 8
1.2.1 :MEAN技術棧中*一的語言 9
1.2.2 快速、高效和可擴展 9
1.2.3 通過npm使用預構建的包 12
1.3 Epress介紹 13
1.3.1 簡化服務器配置 13
1.3.2 路由響應URL 13
1.3.3 視圖:HTML響應 13
1.3.4 通過會話記錄訪問者的信息 14
1.4 MongoDB介紹 14
1.4.1 關係數據庫與文檔數據庫 14
1.4.2 MongoDB文檔:數據存儲 15
1.4.3 不止是文檔數據庫 16
1.4.4 MongoDB的不足之處 16
1.4.5 Mongoose:關於數據建模更多的事 16
1.5 Angular介紹 17
1.5.1 jQuery和Angular 18
1.5.2 雙向數據綁定:處理頁面中的數據 18
1.5.3 使用Angular加載新頁面 18
1.5.4 Angular的缺陷 19
1.5.5 使用TypeScript進行開發 20
1.6 相關配套支持 20
1.6.1 使用Twitter Bootstrap創建用戶界面 20
1.6.2 使用Git管理源代碼的版本 21
1.6.3 使用Heroku作為主機 22
1.7 結合實際示例將它們結合到一起 22
1.7.1 介紹應用程序示例 22
1.7.2 MEAN技術棧組件如何協同工作 24
1.8 本章小結 24
2章 設計MEAN技術棧架構 27
2.1 通用的MEAN技術棧架構 27
2.2 進一步了解單頁面應用 28
2.2.1 對搜索引擎不友好 29
2.2.2 Google Analytics和瀏覽器歷史記錄 30
2.2.3 初始化速度 30
2.2.4 選擇單頁面應用還是非單頁面應用 31
2.3 設計一種靈活的MEAN架構 32
2.3.1 博客引擎需求 32
2.3.2 博客引擎架構 33
2.3.3 佳實踐:為數據層構建內部API 36
2.4 規劃真實的應用程序 37
2.4.1 整體規劃應用程序 38
2.4.2 設計應用程序的架構 39
2.4.3 將所有內容封裝到Epress項目中 41
2.4.4 終產品 42
2.5 將開發按階段規劃 42
2.5.1 快速成型的開發階段 43
2.5.2 構建Loc8r的步驟 44
2.6 硬件架構 50
2.6.1 開發環境需要的硬件 50
2.6.2 生產環境需要的硬件 50
2.7 本章小結 52
Ⅱ部分 構建de Web應用程序
3章 創建並設置MEAN項目 55
3.1 Epress、de和npm簡介 57
3.1.1 使用package.json定義包 57
3.1.2 package.json文件中的依賴版本號 58
3.1.3 使用npm安裝de依賴 58
3.2 創建Epress項目 60
3.2.1 安裝工具 60
3.2.2 查看安裝狀態 61
3.2.3 創建項目文件夾 61
3.2.4 配置Epress 61
3.2.5 創建並運行Epress項目 63
3.2.6 重啟應用程序 66
3.3 支持MVC的Epress 67
3.3.1 MVC總覽 68
3.3.2 改變文件夾結構 68
3.3.3 使用改變位置後的視圖和路由 69
3.3.4 從路由中拆分控制器 71
3.4 導入Bootstrap以快速實現響應式佈局 74
3.4.1 下載並添加Bootstrap到應用程序中 74
3.4.2 在應用程序中使用Bootstrap 75
3.5 使用Heroku 78
3.5.1 設置Heroku 78
3.5.2 使用Git將網站發佈到線上URL 80
3.6 本章小結 83
4章 使用de和Epress構建靜態站點 85
4.1 定義Epress路由 86
4.2 構建基本控制器 89
4.2.1 設置控制器 89
4.2.2 測試控制器和路由 91
4.3 創建視圖 92
4.3.1 使用Bootstrap 93
4.3.2 使用Pug模板和Bootstrap設置HTML框架 94
4.3.3 構建模板 99
4.4 添加其他視圖 103
4.4.1 地點詳情頁 104
4.4.2 添加評論頁 108
4.4.3 添加關於頁 109
4.5 將數據從視圖中分離,讓視圖更智能 111
4.5.1 將數據從視圖移到控制器 113
4.5.2 處理複雜的重複數據模型 115
4.5.3 作數據和視圖 119
4.5.4 使用include和miin創建可重用的佈局組件 120
4.5.5 查看主頁 122
4.5.6 更新其他視圖和控制器 124
4.6 本章小結 125
5章 使用MongoDB和Mongoose構建數據模型 127
5.1 使用Mongoose將Epress應用程序連接到MongoDB 129
5.2 為什麼要為數據建模 137
5.3 定義簡單的Mongoose模式 141
5.4 使用MongoDB shell創建MongoDB數據庫並添加數據 156
5.5 將數據庫發佈到線上環境 161
5.6 本章小結 169
6章 編寫REST API:向應用程序公開MongoDB數據庫 171
6.1 REST API規則 172
6.2 在Epress中設置API 177
6.3 GET請求方式:從MongoDB讀取數據 184
6.4 Post請求方式:向MongoDB添加數據 198
6.5 PUT請求方式:更新MongoDB數據 206
6.6 DELETE請求方式:刪除MongoDB數據 211
6.7 本章小結 215
7 章 消費REST API:使用來自 Epress內部的API 217
7.1 如何調用Epress API 218
7.2 使用API​​返回列表數據:Loc8r主頁 221
7.3 從API獲取單個文檔:Details頁面 232
7.4 通過API向數據庫添加數據:添加Loc8r用戶評論 242
7.5 通過數據驗證保護數據完整性 249
7.6 本章小結 256
Ⅲ部分 使用Angular創建動態頁面
8章 使用TypeScript開發Angular應用程序 259
8.1 創建並運行Angular 260
8.2 開發 Angular 組件 269
8.3 從API接口中獲取數據 284
8.4 在生產環境中部署Angular應用程序 292
8.5 本章小結 295
9章 使用Angular開發單頁面應用:基礎 297
9.1 為Angular SPA添加跳轉功能 298
9.2 使用多個嵌套組件構建模塊化的應用程序 306
9.3 根據地理位置查找附近地點 316
9.4 安全綁定 HTML片段 324
9.5 挑戰 328
9.6 本章小結 329
10章 使用Angular開發單 頁面應用:進階 331
10.1 處理更複雜的視圖和路由參數 332
10.2 處理表單和提交數據 349
10.3 優化現有架構 362
10.4 使用SPA替換服務器端應用程序 371
10.5 本章小結 375
Ⅳ部分 管理身份認證和用戶會話
11章 認證用戶、管理會話和 API安全 379
11.1 如何在MEAN技術棧中實現身份認證功能 380
11.2 為MongoDB創建user模式 384
11.3 使用Passport創建身份認證API 391
11.4 保護相關的API終端 400
11.5 本章小結 406
12章 在Angular應用程序中 使用身份認證API 407
12.1 創建Angular身份認證服務 407
12.2 創建Register和Login頁面 414
12.3 在Angular應用程序中使用身份認證 423
12.4 本章小結 434
附錄A 安裝MEAN技術棧 435
附錄B 安裝其他技術棧 439
附錄C 改造所有視圖 447
附錄D 再次介紹 457


作者介紹


Simon Holmes
從2000年開始從事全棧開發工作,同時也是一名解決方案架構師、講師、團隊領導和項目經理。
他還經營著一家培訓公司,名為Full Stack Training Ltd。Simon 的開發經驗非常豐富,
通過實際工作中的指導和訓練,他非常了解人們的痛點。

Clive Harber
從13歲開始編寫計算機程序。他從威爾士斯望西大學取得化學工程碩士學位,
多年來為體育和博彩業、電信、醫療保健和零售業編寫過使用多種編程語言和不同範例的代碼。
現階段,他希望能夠為編程社區貢獻自己的力量。
Clive曾擔任Manning出版社其他書籍的審校者和技術審校者,包括《Vue.js實戰》、
Testing Vue.js Applications、《React實戰》、Elixir in Action、Mesos in Action、
Usability Matters、《Mountebank微服務測試》、Cross-Platform Desktop Applications和Web Components in Action。




相關書籍

HTML5: 20 Lessons to Successful Web Development (Paperback)

作者 Robin Nixon

2020-06-01

Hands-On Design Patterns with React Native: Proven techniques and patterns to make your React Native development easy and efficient

作者 Mateusz Grzesiukiewicz

2020-06-01

Mastering Apache Spark 2.x - Second Edition

作者 Romeo Kienzler

2020-06-01