MEAN全棧開(kāi)發(fā)(第2版) 使用Mongo、Express、 Angular和Node
有劃線標(biāo)記、光盤(pán)等附件不全詳細(xì)品相說(shuō)明>>
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書(shū)第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門(mén)到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書(shū))
MEAN全棧開(kāi)發(fā)(第2版) 使用Mongo、Express、 Angular和Node 版權(quán)信息
- ISBN:9787302551850
- 條形碼:9787302551850 ; 978-7-302-55185-0
- 裝幀:平裝-膠訂
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>>
MEAN全棧開(kāi)發(fā)(第2版) 使用Mongo、Express、 Angular和Node 本書(shū)特色
● MongoDB 4、Express 4、Angular 7和Node.js 11 ● MEAN技術(shù)棧架構(gòu) ● 適用于移動(dòng)設(shè)備的Web應(yīng)用 ● 關(guān)于效率和可重用性方面的更佳實(shí)踐
MEAN全棧開(kāi)發(fā)(第2版) 使用Mongo、Express、 Angular和Node 內(nèi)容簡(jiǎn)介
《MEAN全棧開(kāi)發(fā)(第2版) 使用Mongo、Express、Angular和Node》將指導(dǎo)你使用MEAN技術(shù)棧開(kāi)發(fā)Web應(yīng)用程序。本書(shū)秉承實(shí)用的原則,*開(kāi)始的幾章將引導(dǎo)你使用Express和Node搭建一個(gè)靜態(tài)網(wǎng)站。之后以這個(gè)靜態(tài)網(wǎng)站為基礎(chǔ),整合MongoDB數(shù)據(jù)庫(kù),構(gòu)建 API 并增加身份驗(yàn)證功能。隨著學(xué)習(xí)的深入,你將掌握關(guān)于創(chuàng)建動(dòng)態(tài)、響應(yīng)式以及數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用程序的大量專(zhuān)業(yè)知識(shí)。
MEAN全棧開(kāi)發(fā)(第2版) 使用Mongo、Express、 Angular和Node 目錄
第1章 全棧開(kāi)發(fā)介紹 3
1.1 為何學(xué)習(xí)全棧 4
1.1.1 Web開(kāi)發(fā)簡(jiǎn)史 4
1.1.2 全棧開(kāi)發(fā)的趨勢(shì) 6
1.1.3 學(xué)習(xí)全棧開(kāi)發(fā)的益處 7
1.1.4 為何專(zhuān)門(mén)介紹MEAN 7
1.2 Node.js介紹 8
1.2.1 JavaScript:MEAN技術(shù)棧中唯一的語(yǔ)言 9
1.2.2 快速、高效和可擴(kuò)展 9
1.2.3 通過(guò)npm使用預(yù)構(gòu)建的包 12
1.3 Express介紹 13
1.3.1 簡(jiǎn)化服務(wù)器配置 13
1.3.2 路由響應(yīng)URL 13
1.3.3 視圖:HTML響應(yīng) 13
1.3.4 通過(guò)會(huì)話記錄訪問(wèn)者的信息 14
1.4 MongoDB介紹 14
1.4.1 關(guān)系數(shù)據(jù)庫(kù)與文檔數(shù)據(jù)庫(kù) 14
1.4.2 MongoDB文檔:JavaScript數(shù)據(jù)存儲(chǔ) 15
1.4.3 不止是文檔數(shù)據(jù)庫(kù) 16
1.4.4 MongoDB的不足之處 16
1.4.5 Mongoose:關(guān)于數(shù)據(jù)建模更多的事 16
1.5 Angular介紹 17
1.5.1 jQuery和Angular 18
1.5.2 雙向數(shù)據(jù)綁定:處理頁(yè)面中的數(shù)據(jù) 18
1.5.3 使用Angular加載新頁(yè)面 18
1.5.4 Angular的缺陷 19
1.5.5 使用TypeScript進(jìn)行開(kāi)發(fā) 20
1.6 相關(guān)配套支持 20
1.6.1 使用Twitter Bootstrap創(chuàng)建用戶界面 20
1.6.2 使用Git管理源代碼的版本 21
1.6.3 使用Heroku作為主機(jī) 22
1.7 結(jié)合實(shí)際示例將它們結(jié)合到一起 22
1.7.1 介紹應(yīng)用程序示例 22
1.7.2 MEAN技術(shù)棧組件如何協(xié)同工作 24
1.8 本章小結(jié) 24
第2章 設(shè)計(jì)MEAN技術(shù)棧架構(gòu) 27
2.1 通用的MEAN技術(shù)棧架構(gòu) 27
2.2 進(jìn)一步了解單頁(yè)面應(yīng)用 28
2.2.1 對(duì)搜索引擎不友好 29
2.2.2 Google Analytics和瀏覽器歷史記錄 30
2.2.3 初始化速度 30
2.2.4 選擇單頁(yè)面應(yīng)用還是非單頁(yè)面應(yīng)用 31
2.3 設(shè)計(jì)一種靈活的MEAN架構(gòu) 32
2.3.1 博客引擎需求 32
2.3.2 博客引擎架構(gòu) 33
2.3.3 *佳實(shí)踐:為數(shù)據(jù)層構(gòu)建內(nèi)部API 36
2.4 規(guī)劃真實(shí)的應(yīng)用程序 37
2.4.1 整體規(guī)劃應(yīng)用程序 38
2.4.2 設(shè)計(jì)應(yīng)用程序的架構(gòu) 39
2.4.3 將所有內(nèi)容封裝到Express項(xiàng)目中 41
2.4.4 *終產(chǎn)品 42
2.5 將開(kāi)發(fā)按階段規(guī)劃 42
2.5.1 快速成型的開(kāi)發(fā)階段 43
2.5.2 構(gòu)建Loc8r的步驟 44
2.6 硬件架構(gòu) 50
2.6.1 開(kāi)發(fā)環(huán)境需要的硬件 50
2.6.2 生產(chǎn)環(huán)境需要的硬件 50
2.7 本章小結(jié) 52
第Ⅱ部分 構(gòu)建Node Web應(yīng)用程序
第3章 創(chuàng)建并設(shè)置MEAN項(xiàng)目 55
3.1 Express、Node和npm簡(jiǎn)介 57
3.1.1 使用package.json定義包 57
3.1.2 package.json文件中的依賴(lài)版本號(hào) 58
3.1.3 使用npm安裝Node依賴(lài) 58
3.2 創(chuàng)建Express項(xiàng)目 60
3.2.1 安裝工具 60
3.2.2 查看安裝狀態(tài) 61
3.2.3 創(chuàng)建項(xiàng)目文件夾 61
3.2.4 配置Express 61
3.2.5 創(chuàng)建并運(yùn)行Express項(xiàng)目 63
3.2.6 重啟應(yīng)用程序 66
3.3 支持MVC的Express 67
3.3.1 MVC總覽 68
3.3.2 改變文件夾結(jié)構(gòu) 68
3.3.3 使用改變位置后的視圖和路由 69
3.3.4 從路由中拆分控制器 71
3.4 導(dǎo)入Bootstrap以快速實(shí)現(xiàn)響應(yīng)式布局 74
3.4.1 下載并添加Bootstrap到應(yīng)用程序中 74
3.4.2 在應(yīng)用程序中使用Bootstrap 75
3.5 使用Heroku 78
3.5.1 設(shè)置Heroku 78
3.5.2 使用Git將網(wǎng)站發(fā)布到線上URL 80
3.6 本章小結(jié) 83
第4章 使用Node和Express構(gòu)建靜態(tài)站點(diǎn) 85
4.1 定義Express路由 86
4.2 構(gòu)建基本控制器 89
4.2.1 設(shè)置控制器 89
4.2.2 測(cè)試控制器和路由 91
4.3 創(chuàng)建視圖 92
4.3.1 使用Bootstrap 93
4.3.2 使用Pug模板和Bootstrap設(shè)置HTML框架 94
4.3.3 構(gòu)建模板 99
4.4 添加其他視圖 103
4.4.1 地點(diǎn)詳情頁(yè) 104
4.4.2 添加評(píng)論頁(yè) 108
4.4.3 添加關(guān)于頁(yè) 109
4.5 將數(shù)據(jù)從視圖中分離,讓視圖更智能 111
4.5.1 將數(shù)據(jù)從視圖移到控制器 113
4.5.2 處理復(fù)雜的重復(fù)數(shù)據(jù)模型 115
4.5.3 操作數(shù)據(jù)和視圖 119
4.5.4 使用include和mixin創(chuàng)建可重用的布局組件 120
4.5.5 查看主頁(yè) 122
4.5.6 更新其他視圖和控制器 124
4.6 本章小結(jié) 125
第5章 使用MongoDB和Mongoose構(gòu)建數(shù)據(jù)模型 127
5.1 使用Mongoose將Express應(yīng)用程序連接到MongoDB 129
5.1.1 將Mongoose添加到應(yīng)用程序 130
5.1.2 將Mongoose連接添加到應(yīng)用程序 131
5.2 為什么要為數(shù)據(jù)建模 137
5.2.1 Mongoose的定義及工作原理 138
5.2.2 使用Mongoose進(jìn)行數(shù)據(jù)建模 139
5.2.3 分解模式路徑 140
5.3 定義簡(jiǎn)單的Mongoose模式 141
5.3.1 模式的基本設(shè)置 141
5.3.2 在MongoDB和Mongoose中使用地理位置數(shù)據(jù) 144
5.3.3 使用子文檔創(chuàng)建復(fù)雜模式 146
5.3.4 *終的模式結(jié)果 152
5.3.5 將Mongoose模式編譯為模型 154
5.4 使用MongoDB shell創(chuàng)建MongoDB數(shù)據(jù)庫(kù)并添加數(shù)據(jù) 156
5.4.1 MongoDB shell基本知識(shí) 156
5.4.2 創(chuàng)建MongoDB數(shù)據(jù)庫(kù) 158
5.5 將數(shù)據(jù)庫(kù)發(fā)布到線上環(huán)境 161
5.5.1 設(shè)置mLab并獲取數(shù)據(jù)庫(kù)URI 162
5.5.2 推送數(shù)據(jù) 164
5.5.3 讓?xiě)?yīng)用程序使用正確的數(shù)據(jù)庫(kù) 166
5.6 本章小結(jié) 169
第6章 編寫(xiě)REST API:向應(yīng)用程序公開(kāi)MongoDB數(shù)據(jù)庫(kù) 171
6.1 REST API規(guī)則 172
6.1.1 請(qǐng)求URL 173
6.1.2 請(qǐng)求方式 174
6.1.3 響應(yīng)和狀態(tài)碼 176
6.2 在Express中設(shè)置API 177
6.2.1 創(chuàng)建路由 178
6.2.2 創(chuàng)建占位控制器 180
6.2.3 從Express請(qǐng)求返回JSON數(shù)據(jù) 181
6.2.4 導(dǎo)入控制器 181
6.2.5 測(cè)試API 183
6.3 GET請(qǐng)求方式:從MongoDB讀取數(shù)據(jù) 184
6.3.1 在MongoDB中使用Mongoose查找單個(gè)文檔 184
6.3.2 根據(jù)ID查找單個(gè)子文檔 188
6.3.3 使用地理位置查詢(xún)多個(gè)文檔 191
6.4 Post請(qǐng)求方式:向MongoDB添加數(shù)據(jù) 198
6.4.1 在MongoDB中創(chuàng)建文檔 198
6.4.2 使用Mongoose校驗(yàn)數(shù)據(jù) 200
6.4.3 在MongoDB中創(chuàng)建新的子文檔 202
6.5 PUT請(qǐng)求方式:更新MongoDB數(shù)據(jù) 206
6.5.1 在MongoDB中使用Mongoose更新文檔 206
6.5.2 使用Mongoose的save方法 206
6.5.3 更新MongoDB中已存在的子文檔 209
6.6 DELETE請(qǐng)求方式:刪除MongoDB數(shù)據(jù) 211
6.6.1 刪除MongoDB中的文檔 211
6.6.2 刪除MongoDB中的子文檔 213
6.7 本章小結(jié) 215
第7 章 消費(fèi)REST API:使用來(lái)自 Express內(nèi)部的API 217
7.1 如何調(diào)用Express API 218
7.1.1 添加request模塊 218
7.1.2 設(shè)置默認(rèn)選項(xiàng) 219
7.1.3 使用request模塊 219
7.2 使用API返回列表數(shù)據(jù):Loc8r主頁(yè) 221
7.2.1 關(guān)注分離:將渲染移入命名函數(shù) 221
7.2.2 構(gòu)建API請(qǐng)求 222
7.2.3 使用API響應(yīng)數(shù)據(jù) 223
7.2.4 在展示數(shù)據(jù)前修改數(shù)據(jù):修改距離值 225
7.2.5 捕獲API返回的錯(cuò)誤 227
7.3 從API獲取單個(gè)文檔:Details頁(yè)面 232
7.3.1 關(guān)注分離:將渲染移入命名函數(shù) 234
7.3.2 使用URL中的ID參數(shù)查詢(xún)API 234
7.3.3 將數(shù)據(jù)從API傳遞到視圖 235
7.3.4 調(diào)試并修復(fù)視圖錯(cuò)誤 236
7.3.5 使用Pug mixin格式化日期數(shù)據(jù) 238
7.3.6 創(chuàng)建基于返回狀態(tài)的錯(cuò)誤頁(yè) 239
7.4 通過(guò)API向數(shù)據(jù)庫(kù)添加數(shù)據(jù):添加Loc8r用戶評(píng)論 242
7.4.1 設(shè)置路由和視圖 242
7.4.2 提交評(píng)論數(shù)據(jù)到API 247
7.5 通過(guò)數(shù)據(jù)驗(yàn)證保護(hù)數(shù)據(jù)完整性 249
7.5.1 在模式中使用Mongoose驗(yàn)證 249
7.5.2 使用Node和Express在應(yīng)用程序?qū)舆M(jìn)行驗(yàn)證 253
7.5.3 使用jQuery在瀏覽器中進(jìn)行驗(yàn)證 255
7.6 本章小結(jié) 256
第Ⅲ部分 使用Angular創(chuàng)建動(dòng)態(tài)頁(yè)面
第8章 使用TypeScript開(kāi)發(fā)Angular應(yīng)用程序 259
8.1 創(chuàng)建并運(yùn)行Angular 260
8.1.1 使用命令行創(chuàng)建Angular模板應(yīng)用程序 260
8.1.2 運(yùn)行 Angular應(yīng)用程序 262
8.1.3 應(yīng)用程序的源代碼 262
8.2 開(kāi)發(fā) Angular 組件 269
8.2.1 創(chuàng)建新的home-list組件 269
8.2.2 創(chuàng)建 HTML模板 271
8.2.3 從模板向組件遷移數(shù)據(jù) 274
8.2.4 在HTML模板中引用類(lèi)的成員變量 277
8.3 從API接口中獲取數(shù)據(jù) 284
8.3.1 創(chuàng)建數(shù)據(jù)服務(wù) 285
8.3.2 調(diào)用數(shù)據(jù)服務(wù) 288
8.4 在生產(chǎn)環(huán)境中部署Angular應(yīng)用程序 292
8.4.1 構(gòu)建生產(chǎn)環(huán)境中的Angular應(yīng)用程序 292
8.4.2 集成Express站點(diǎn)和Angular應(yīng)用程序 292
8.5 本章小結(jié) 295
第9章 使用Angular開(kāi)發(fā)單頁(yè)面應(yīng)用:基礎(chǔ) 297
9.1 為Angular SPA添加跳轉(zhuǎn)功能 298
9.1.1 導(dǎo)入Angular路由模塊并定義**個(gè)路由 299
9.1.2 路由配置 299
9.1.3 創(chuàng)建framework組件以及導(dǎo)航欄 300
9.1.4 使用router-outlet定義顯示內(nèi)容 302
9.1.5 在不同頁(yè)面之間跳轉(zhuǎn) 303
9.1.6 為跳轉(zhuǎn)鏈接增加選中樣式 305
9.2 使用多個(gè)嵌套組件構(gòu)建模塊化的應(yīng)用程序 306
9.2.1 創(chuàng)建homepage組件 307
9.2.2 創(chuàng)建并使用可復(fù)用組件 309
9.3 根據(jù)地理位置查找附近地點(diǎn) 316
9.3.1 創(chuàng)建Angular 地理位置服務(wù) 316
9.3.2 在應(yīng)用程序中添加地理位置服務(wù) 318
9.3.3 在home-list組件中使用地理位置服務(wù) 319
9.4 安全綁定 HTML片段 324
9.4.1 完善關(guān)于頁(yè)的內(nèi)容 324
9.4.2 創(chuàng)建用于轉(zhuǎn)義換行符的管道 325
9.4.3 屬性綁定:安全地綁定HTML片段 327
9.5 挑戰(zhàn) 328
9.6 本章小結(jié) 329
第10章 使用Angular開(kāi)發(fā)單 頁(yè)面應(yīng)用:進(jìn)階 331
10.1 處理更復(fù)雜的視圖和路由參數(shù) 332
10.1.1 規(guī)劃頁(yè)面布局 332
10.1.2 創(chuàng)建組件 333
10.1.3 根據(jù)URL參數(shù)設(shè)置和定義路由 335
10.1.4 在組件和服務(wù)中使用URL參數(shù) 337
10.1.5 向詳情頁(yè)組件傳遞數(shù)據(jù) 341
10.1.6 構(gòu)建詳情頁(yè)視圖 343
10.2 處理表單和提交數(shù)據(jù) 349
10.2.1 使用Angular添加評(píng)價(jià) 350
10.2.2 向API提交表單數(shù)據(jù) 355
10.3 優(yōu)化現(xiàn)有架構(gòu) 362
10.3.1 使用單獨(dú)的文件保存路由配置 362
10.3.2 優(yōu)化 Location類(lèi)的定義方式 366
10.4 使用SPA替換服務(wù)器端應(yīng)用程序 371
10.4.1 在Express中配置build文件夾對(duì)應(yīng)的路由 372
10.4.2 開(kāi)發(fā)URL多級(jí)路徑的相關(guān)功能 374
10.5 本章小結(jié) 375
第Ⅳ部分 管理身份認(rèn)證和用戶會(huì)話
第11章 認(rèn)證用戶、管理會(huì)話和 API安全 379
11.1 如何在MEAN技術(shù)棧中實(shí)現(xiàn)身份認(rèn)證功能 380
11.1.1 傳統(tǒng)方式 380
11.1.2 在MEAN技術(shù)棧中使用傳統(tǒng)方式 382
11.1.3 完整的MEAN技術(shù)棧方式 382
11.2 為MongoDB創(chuàng)建user模式 384
11.2.1 單向密碼加密:hash和salt 384
11.2.2 構(gòu)建Mongoose模式 385
11.2.3 基本的user模式 385
11.2.4 使用Mongoose方法設(shè)置加密屬性 386
11.2.5 驗(yàn)證提交的密碼 387
11.2.6 生成JSON Web Token 388
11.3 使用Passport創(chuàng)建身份認(rèn)證API 391
11.3.1 安裝和配置Passport 392
11.3.2 創(chuàng)建API終端以返回JWT 395
11.4 保護(hù)相關(guān)的API終端 400
11.4.1 向Express路由添加身份認(rèn)證中間件 400
11.4.2 在控制器中使用JWT信息 403
11.5 本章小結(jié) 406
第12章 在Angular應(yīng)用程序中 使用身份認(rèn)證API 407
12.1 創(chuàng)建Angular身份認(rèn)證服務(wù) 407
12.1.1 在Angular中管理用戶會(huì)話 408
12.1.2 允許用戶注冊(cè)、登錄和注銷(xiāo) 410
12.1.3 在Angular服務(wù)中使用JWT數(shù)據(jù) 413
12.2 創(chuàng)建Register和Login頁(yè)面 414
12.2.1 創(chuàng)建Register頁(yè)面 415
12.2.2 構(gòu)建Login頁(yè)面 420
12.3 在Angular應(yīng)用程序中使用身份認(rèn)證 423
12.3.1 更新導(dǎo)航 423
12.3.2 為導(dǎo)航添加右側(cè)區(qū)域 423
12.4 本章小結(jié) 434
附錄A 安裝MEAN技術(shù)棧 435
附錄B 安裝其他技術(shù)棧 439
附錄C 改造所有視圖 447
附錄D 再次介紹JavaScript 457
MEAN全棧開(kāi)發(fā)(第2版) 使用Mongo、Express、 Angular和Node 作者簡(jiǎn)介
Simon Holmes從2000年開(kāi)始從事全棧開(kāi)發(fā)工作,同時(shí)也是一名解決方案架構(gòu)師、講師、團(tuán)隊(duì)領(lǐng)導(dǎo)和項(xiàng)目經(jīng)理。他還經(jīng)營(yíng)著一家培訓(xùn)公司,名為Full Stack Training Ltd。Simon 的開(kāi)發(fā)經(jīng)驗(yàn)非常豐富,通過(guò)實(shí)際工作中的指導(dǎo)和訓(xùn)練,他非常了解人們的痛點(diǎn)。 Clive Harber從13歲開(kāi)始編寫(xiě)計(jì)算機(jī)程序。他從威爾士斯望西大學(xué)取得化學(xué)工程碩士學(xué)位,多年來(lái)為體育和博彩業(yè)、電信、醫(yī)療保健和零售業(yè)編寫(xiě)過(guò)使用多種編程語(yǔ)言和不同范例的代碼,F(xiàn)階段,他希望能夠?yàn)榫幊躺鐓^(qū)貢獻(xiàn)自己的力量。Clive曾擔(dān)任Manning出版社其他書(shū)籍的審校者和技術(shù)審校者,包括《Vue.js實(shí)戰(zhàn)》、Testing Vue.js Applications、《React實(shí)戰(zhàn)》、Elixir in Action、Mesos in Action、Usability Matters、《Mountebank微服務(wù)測(cè)試》、Cross-Platform Desktop Applications和Web Components in Action。
- >
苦雨齋序跋文-周作人自編集
- >
中國(guó)歷史的瞬間
- >
自卑與超越
- >
伯納黛特,你要去哪(2021新版)
- >
名家?guī)阕x魯迅:故事新編
- >
人文閱讀與收藏·良友文學(xué)叢書(shū):一天的工作
- >
名家?guī)阕x魯迅:朝花夕拾
- >
月亮虎