定 價:¥128.00
作 者: | (美)西蒙·霍姆斯,(美)克萊夫·哈伯 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302551850 | 出版時間: | 2020-06-01 | 包裝: | |
開本: | 16開 | 頁數(shù): | 536 | 字數(shù): |
目 錄
第Ⅰ部分 設置基線
第1章 全棧開發(fā)介紹 3
1.1 為何學習全棧 4
1.1.1 Web開發(fā)簡史 4
1.1.2 全棧開發(fā)的趨勢 6
1.1.3 學習全棧開發(fā)的益處 7
1.1.4 為何專門介紹MEAN 7
1.2 Node.js介紹 8
1.2.1 JavaScript:MEAN技術棧中唯一的語言 9
1.2.2 快速、高效和可擴展 9
1.2.3 通過npm使用預構建的包 12
1.3 Express介紹 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 關系數(shù)據(jù)庫與文檔數(shù)據(jù)庫 14
1.4.2 MongoDB文檔:JavaScript數(shù)據(jù)存儲 15
1.4.3 不止是文檔數(shù)據(jù)庫 16
1.4.4 MongoDB的不足之處 16
1.4.5 Mongoose:關于數(shù)據(jù)建模更多的事 16
1.5 Angular介紹 17
1.5.1 jQuery和Angular 18
1.5.2 雙向數(shù)據(jù)綁定:處理頁面中的數(shù)據(jù) 18
1.5.3 使用Angular加載新頁面 18
1.5.4 Angular的缺陷 19
1.5.5 使用TypeScript進行開發(fā) 20
1.6 相關配套支持 20
1.6.1 使用Twitter Bootstrap創(chuàng)建用戶界面 20
1.6.2 使用Git管理源代碼的版本 21
1.6.3 使用Heroku作為主機 22
1.7 結合實際示例將它們結合到一起 22
1.7.1 介紹應用程序示例 22
1.7.2 MEAN技術棧組件如何協(xié)同工作 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 最佳實踐:為數(shù)據(jù)層構建內(nèi)部API 36
2.4 規(guī)劃真實的應用程序 37
2.4.1 整體規(guī)劃應用程序 38
2.4.2 設計應用程序的架構 39
2.4.3 將所有內(nèi)容封裝到Express項目中 41
2.4.4 最終產(chǎn)品 42
2.5 將開發(fā)按階段規(guī)劃 42
2.5.1 快速成型的開發(fā)階段 43
2.5.2 構建Loc8r的步驟 44
2.6 硬件架構 50
2.6.1 開發(fā)環(huán)境需要的硬件 50
2.6.2 生產(chǎn)環(huán)境需要的硬件 50
2.7 本章小結 52
第Ⅱ部分 構建Node Web應用程序
第3章 創(chuàng)建并設置MEAN項目 55
3.1 Express、Node和npm簡介 57
3.1.1 使用package.json定義包 57
3.1.2 package.json文件中的依賴版本號 58
3.1.3 使用npm安裝Node依賴 58
3.2 創(chuàng)建Express項目 60
3.2.1 安裝工具 60
3.2.2 查看安裝狀態(tài) 61
3.2.3 創(chuàng)建項目文件夾 61
3.2.4 配置Express 61
3.2.5 創(chuàng)建并運行Express項目 63
3.2.6 重啟應用程序 66
3.3 支持MVC的Express 67
3.3.1 MVC總覽 68
3.3.2 改變文件夾結構 68
3.3.3 使用改變位置后的視圖和路由 69
3.3.4 從路由中拆分控制器 71
3.4 導入Bootstrap以快速實現(xiàn)響應式布局 74
3.4.1 下載并添加Bootstrap到應用程序中 74
3.4.2 在應用程序中使用Bootstrap 75
3.5 使用Heroku 78
3.5.1 設置Heroku 78
3.5.2 使用Git將網(wǎng)站發(fā)布到線上URL 80
3.6 本章小結 83
第4章 使用Node和Express構建靜態(tài)站點 85
4.1 定義Express路由 86
4.2 構建基本控制器 89
4.2.1 設置控制器 89
4.2.2 測試控制器和路由 91
4.3 創(chuàng)建視圖 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 將數(shù)據(jù)從視圖中分離,讓視圖更智能 111
4.5.1 將數(shù)據(jù)從視圖移到控制器 113
4.5.2 處理復雜的重復數(shù)據(jù)模型 115
4.5.3 操作數(shù)據(jù)和視圖 119
4.5.4 使用include和mixin創(chuàng)建可重用的布局組件 120
4.5.5 查看主頁 122
4.5.6 更新其他視圖和控制器 124
4.6 本章小結 125
第5章 使用MongoDB和Mongoose構建數(shù)據(jù)模型 127
5.1 使用Mongoose將Express應用程序連接到MongoDB 129
5.2 為什么要為數(shù)據(jù)建模 137
5.3 定義簡單的Mongoose模式 141
5.4 使用MongoDB shell創(chuàng)建MongoDB數(shù)據(jù)庫并添加數(shù)據(jù) 156
5.5 將數(shù)據(jù)庫發(fā)布到線上環(huán)境 161
5.6 本章小結 169
第6章 編寫REST API:向應用程序公開MongoDB數(shù)據(jù)庫 171
6.1 REST API規(guī)則 172
6.2 在Express中設置API 177
6.3 GET請求方式:從MongoDB讀取數(shù)據(jù) 184
6.4 Post請求方式:向MongoDB添加數(shù)據(jù) 198
6.5 PUT請求方式:更新MongoDB數(shù)據(jù) 206
6.6 DELETE請求方式:刪除MongoDB數(shù)據(jù) 211
6.7 本章小結 215
第7 章 消費REST API:使用來自 Express內(nèi)部的API 217
7.1 如何調(diào)用Express API 218
7.2 使用API返回列表數(shù)據(jù):Loc8r主頁 221
7.3 從API獲取單個文檔:Details頁面 232
7.4 通過API向數(shù)據(jù)庫添加數(shù)據(jù):添加Loc8r用戶評論 242
7.5 通過數(shù)據(jù)驗證保護數(shù)據(jù)完整性 249
7.6 本章小結 256
第Ⅲ部分 使用Angular創(chuàng)建動態(tài)頁面
第8章 使用TypeScript開發(fā)Angular應用程序 259
8.1 創(chuàng)建并運行Angular 260
8.2 開發(fā) Angular 組件 269
8.3 從API接口中獲取數(shù)據(jù) 284
8.4 在生產(chǎn)環(huán)境中部署Angular應用程序 292
8.5 本章小結 295
第9章 使用Angular開發(fā)單頁面應用:基礎 297
9.1 為Angular SPA添加跳轉(zhuǎn)功能 298
9.2 使用多個嵌套組件構建模塊化的應用程序 306
9.3 根據(jù)地理位置查找附近地點 316
9.4 安全綁定 HTML片段 324
9.5 挑戰(zhàn) 328
9.6 本章小結 329
第10章 使用Angular開發(fā)單 頁面應用:進階 331
10.1 處理更復雜的視圖和路由參數(shù) 332
10.2 處理表單和提交數(shù)據(jù) 349
10.3 優(yōu)化現(xiàn)有架構 362
10.4 使用SPA替換服務器端應用程序 371
10.5 本章小結 375
第Ⅳ部分 管理身份認證和用戶會話
第11章 認證用戶、管理會話和 API安全 379
11.1 如何在MEAN技術棧中實現(xiàn)身份認證功能 380
11.2 為MongoDB創(chuàng)建user模式 384
11.3 使用Passport創(chuàng)建身份認證API 391
11.4 保護相關的API終端 400
11.5 本章小結 406
第12章 在Angular應用程序中 使用身份認證API 407
12.1 創(chuàng)建Angular身份認證服務 407
12.2 創(chuàng)建Register和Login頁面 414
12.3 在Angular應用程序中使用身份認證 423
12.4 本章小結 434
附錄A 安裝MEAN技術棧 435
附錄B 安裝其他技術棧 439
附錄C 改造所有視圖 447
附錄D 再次介紹JavaScript 457