注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)MEAN全棧開(kāi)發(fā) 使用Mongo、Express、 Angular和Node(第2版)

MEAN全棧開(kāi)發(fā) 使用Mongo、Express、 Angular和Node(第2版)

MEAN全棧開(kāi)發(fā) 使用Mongo、Express、 Angular和Node(第2版)

定 價(jià):¥128.00

作 者: (美)西蒙·霍姆斯,(美)克萊夫·哈伯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787302551850 出版時(shí)間: 2020-06-01 包裝:
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 536 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  ● MongoDB 4、Express 4、Angular 7和Node.js 11 ● MEAN技術(shù)棧架構(gòu) ● 適用于移動(dòng)設(shè)備的Web應(yīng)用 ● 關(guān)于效率和可重用性方面的更佳實(shí)踐

作者簡(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。

圖書(shū)目錄

目    錄


第Ⅰ部分  設(shè)置基線(xiàn)

第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ì)話(huà)記錄訪(fǎng)問(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)建用戶(hù)界面  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ā)布到線(xiàn)上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.2  為什么要為數(shù)據(jù)建模  137

5.3  定義簡(jiǎn)單的Mongoose模式  141

5.4  使用MongoDB shell創(chuàng)建MongoDB數(shù)據(jù)庫(kù)并添加數(shù)據(jù)  156

5.5  將數(shù)據(jù)庫(kù)發(fā)布到線(xiàn)上環(huán)境  161

5.6  本章小結(jié)  169

第6章  編寫(xiě)REST API:向應(yīng)用程序公開(kāi)MongoDB數(shù)據(jù)庫(kù)  171

6.1  REST API規(guī)則  172

6.2  在Express中設(shè)置API  177

6.3  GET請(qǐng)求方式:從MongoDB讀取數(shù)據(jù)  184

6.4  Post請(qǐng)求方式:向MongoDB添加數(shù)據(jù)  198

6.5  PUT請(qǐng)求方式:更新MongoDB數(shù)據(jù)  206

6.6  DELETE請(qǐng)求方式:刪除MongoDB數(shù)據(jù)  211

6.7  本章小結(jié)  215

第7 章  消費(fèi)REST API:使用來(lái)自 Express內(nèi)部的API  217

7.1  如何調(diào)用Express API  218

7.2  使用API返回列表數(shù)據(jù):Loc8r主頁(yè)  221

7.3  從API獲取單個(gè)文檔:Details頁(yè)面  232

7.4  通過(guò)API向數(shù)據(jù)庫(kù)添加數(shù)據(jù):添加Loc8r用戶(hù)評(píng)論  242

7.5  通過(guò)數(shù)據(jù)驗(yàn)證保護(hù)數(shù)據(jù)完整性  249

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.2  開(kāi)發(fā) Angular 組件  269

8.3  從API接口中獲取數(shù)據(jù)  284

8.4  在生產(chǎn)環(huá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.2  使用多個(gè)嵌套組件構(gòu)建模塊化的應(yīng)用程序  306

9.3  根據(jù)地理位置查找附近地點(diǎn)  316

9.4  安全綁定 HTML片段  324

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.2  處理表單和提交數(shù)據(jù)  349

10.3  優(yōu)化現(xiàn)有架構(gòu)  362

10.4  使用SPA替換服務(wù)器端應(yīng)用程序  371

10.5  本章小結(jié)  375

第Ⅳ部分  管理身份認(rèn)證和用戶(hù)會(huì)話(huà)

第11章  認(rèn)證用戶(hù)、管理會(huì)話(huà)和 API安全  379

11.1  如何在MEAN技術(shù)棧中實(shí)現(xiàn)身份認(rèn)證功能  380

11.2  為MongoDB創(chuàng)建user模式  384

11.3  使用Passport創(chuàng)建身份認(rèn)證API  391

11.4  保護(hù)相關(guān)的API終端  400

11.5  本章小結(jié)  406

第12章  在Angular應(yīng)用程序中 使用身份認(rèn)證API  407

12.1  創(chuàng)建Angular身份認(rèn)證服務(wù)  407

12.2  創(chuàng)建Register和Login頁(yè)面  414

12.3  在Angular應(yīng)用程序中使用身份認(rèn)證  423

12.4  本章小結(jié)  434

附錄A  安裝MEAN技術(shù)棧  435

附錄B  安裝其他技術(shù)棧  439

附錄C  改造所有視圖  447

附錄D  再次介紹JavaScript  457


本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)