-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
12/12 新書到! 12/5 新書到! 11/30 新書到! 7/26 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

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

( 簡體 字)
作者:[美]西蒙·霍姆斯(Simon Holmes) [美]克萊夫·哈伯(Clive Harber) 著 , 顏宇 王威 谷守闖 譯類別:1. -> 程式設計 -> 綜合
   2. -> 資料庫 -> MongoDB
   3. -> 程式設計 -> 網路編程 -> AngularJS
   4. -> 程式設計 -> 網路編程 -> Node.js
譯者:
出版社:清華大學出版社MEAN全棧開發(第2版) 使用Mongo、Express、 Angular和Node 3dWoo書號: 52967
詢問書籍請說出此書號!

有庫存
NT售價: 640

出版日:6/1/2020
頁數:536
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302551850
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

JavaScript已經很完善了。開發網站時,從前端到后端都可以使用 JavaScript(即使采用TypeScript開發)。MEAN技術棧由Web領域中最佳的那些技術組合而成。數據庫采用MongoDB,服務器端Web服務框架選擇Express,客戶端框架則是Angular,而Node.js則是服務器端運行平臺。
《MEAN全棧開發(第2版)》將分別介紹這些技術,還將介紹如何將它們集成在一起。通過《MEAN全棧開發(第2版)》,你將會創建一個可運行的應用程序,逐一學習構建這個應用程序的每項技術,并學習如何將這些技術集成到應用程序的整體架構中。因此,這是一本實用的書,旨在讓你實踐所有這些技術,并將它們結合起來使用。
貫穿《MEAN全棧開發(第2版)》的主題思想就是“最佳實踐”。希望借此能夠幫助讀者使用 MEAN 技術棧創造優秀的應用程序。因此,《MEAN全棧開發(第2版)》將會關注如何建立良好的開發習慣、正確的開發方式,以及如何制訂開發計劃。
我們假設讀者已經具備HTML、CSS(Cascading Style Sheets,層疊樣式表)和JavaScript方面的基礎知識,因此不會對它們進行過多解釋。《MEAN全棧開發(第2版)》會簡單介紹 Twitter 的BootStrap CSS框架和TypeScript。附錄D將全面討論JavaScript理論知識、最佳實踐、開發技巧,以及開發過程中經常遇到的陷阱。推薦盡可能提前閱讀附錄D。
《MEAN全棧開發(第2版)》組織結構
《MEAN全棧開發(第2版)》分為四大部分,共12章。
第Ⅰ部分包括第1和2章,其中第1章將會介紹學習全棧開發的好處,并探討MEAN技術棧的組件。第2章則會根據第1章介紹如何使用這些組件,并將它們集成在一起。
第Ⅱ部分包括第3∼7章,其中第3章將通過創建一個MEAN項目,讓你了解Express。第4章將會創建一個靜態的應用程序,以便你更加深入地學習Express。第5章則會將之前介紹的知識與MongoDB以及Mongoose整合在一起,根據需求設計并實現一個數據模型。第6章將會介紹如何建立數據API(Application Programming Interface,應用程序編程接口)以及數據API的優點,之后將會使用Express、MongoDB 以及Mongoose創建一個REST(Representational State Transfer,表述性狀態轉移)API。第7章會將這個REST API集成到Express應用程序中。
第Ⅲ部分包括第8∼10章,第8章介紹Angular和TypeScript,主要內容包括如何使用這兩種技術為已有的網頁創建組件,并調用REST API以獲取數據。第9章涵蓋使用Angular創建單頁面應用(Single Page Application,SPA)的基礎知識。第10章則以第9章為基礎,更深入地介紹一些關鍵技術,并進一步開發這個SPA應用程序,添加實用的功能。
第Ⅳ部分包括第11和12章,在第11章中將為應用程序增加一個身份認證API,以實現用戶注冊和登錄功能。在第11章中,你將全面了解MEAN技術棧。第12章則會開發這個身份認證API,完成后將在Angular應用程序中調用它,創建僅注冊用戶才能使用的功能,并介紹SPA中的其他最佳實踐。
關于代碼
書中的代碼可通過掃描封底的二維碼來下載。
應用程序的每一個里程碑都有單獨的文件夾(GitHub中有對應的分支),通常在每章的結尾處可以找到。為了遵循最佳實踐,這些文件夾(或分支)中不會包含 node_modules文件夾。需要在命令行中使用npm install命令安裝依賴,才能運行應用程序。書中將會具體講解以及演示這么做的必要性。
內容簡介:

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

第Ⅰ部分設置基線
第1章全棧開發介紹3
1.1為何學習全棧4
1.1.1Web開發簡史4
1.1.2全棧開發的趨勢6
1.1.3學習全棧開發的益處7
1.1.4為何專門介紹MEAN7
1.2Node.js介紹8
1.2.1JavaScript:MEAN技術棧中唯一的語言9
1.2.2快速、高效和可擴展9
1.2.3通過npm使用預構建的包12
1.3Express介紹13
1.3.1簡化服務器配置13
1.3.2路由響應URL13
1.3.3視圖:HTML響應13
1.3.4通過會話記錄訪問者的信息14
1.4MongoDB介紹14
1.4.1關系數據庫與文檔數據庫14
1.4.2MongoDB文檔:JavaScript數據存儲15
1.4.3不止是文檔數據庫16
1.4.4MongoDB的不足之處16
1.4.5Mongoose:關于數據建模更多的事16
1.5Angular介紹17
1.5.1jQuery和Angular18
1.5.2雙向數據綁定:處理頁面中的數據18
1.5.3使用Angular加載新頁面18
1.5.4Angular的缺陷19
1.5.5使用TypeScript進行開發20
1.6相關配套支持20
1.6.1使用TwitterBootstrap創建用戶界面20
1.6.2使用Git管理源代碼的版本21
1.6.3使用Heroku作為主機22
1.7結合實際示例將它們結合到一起22
1.7.1介紹應用程序示例22
1.7.2MEAN技術棧組件如何協同工作24
1.8本章小結24
第2章設計MEAN技術棧架構27
2.1通用的MEAN技術棧架構27
2.2進一步了解單頁面應用28
2.2.1對搜索引擎不友好29
2.2.2GoogleAnalytics和瀏覽器歷史記錄30
2.2.3初始化速度30
2.2.4選擇單頁面應用還是非單頁面應用31
2.3設計一種靈活的MEAN架構32
2.3.1博客引擎需求32
2.3.2博客引擎架構33
2.3.3最佳實踐:為數據層構建內部API36
2.4規劃真實的應用程序37
2.4.1整體規劃應用程序38
2.4.2設計應用程序的架構39
2.4.3將所有內容封裝到Express項目中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
第Ⅱ部分構建NodeWeb應用程序
第3章創建并設置MEAN項目55
3.1Express、Node和npm簡介57
3.1.1使用package.json定義包57
3.1.2package.json文件中的依賴版本號58
3.1.3使用npm安裝Node依賴58
3.2創建Express項目60
3.2.1安裝工具60
3.2.2查看安裝狀態61
3.2.3創建項目文件夾61
3.2.4配置Express61
3.2.5創建并運行Express項目63
3.2.6重啟應用程序66
3.3支持MVC的Express67
3.3.1MVC總覽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在應用程序中使用Bootstrap75
3.5使用Heroku78
3.5.1設置Heroku78
3.5.2使用Git將網站發布到線上URL80
3.6本章小結83
第4章使用Node和Express構建靜態站點85
4.1定義Express路由86
4.2構建基本控制器89
4.2.1設置控制器89
4.2.2測試控制器和路由91
4.3創建視圖92
4.3.1使用Bootstrap93
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和mixin創建可重用的布局組件120
4.5.5查看主頁122
4.5.6更新其他視圖和控制器124
4.6本章小結125
第5章使用MongoDB和Mongoose構建數據模型127
5.1使用Mongoose將Express應用程序連接到MongoDB129
5.1.1將Mongoose添加到應用程序130
5.1.2將Mongoose連接添加到應用程序131
5.2為什么要為數據建模137
5.2.1Mongoose的定義及工作原理138
5.2.2使用Mongoose進行數據建模139
5.2.3分解模式路徑140
5.3定義簡單的Mongoose模式141
5.3.1模式的基本設置141
5.3.2在MongoDB和Mongoose中使用地理位置數據144
5.3.3使用子文檔創建復雜模式146
5.3.4最終的模式結果152
5.3.5將Mongoose模式編譯為模型154
5.4使用MongoDBshell創建MongoDB數據庫并添加數據156
5.4.1MongoDBshell基本知識156
5.4.2創建MongoDB數據庫158
5.5將數據庫發布到線上環境161
5.5.1設置mLab并獲取數據庫URI162
5.5.2推送數據164
5.5.3讓應用程序使用正確的數據庫166
5.6本章小結169
第6章編寫RESTAPI:向應用程序公開MongoDB數據庫171
6.1RESTAPI規則172
6.1.1請求URL173
6.1.2請求方式174
6.1.3響應和狀態碼176
6.2在Express中設置API177
6.2.1創建路由178
6.2.2創建占位控制器180
6.2.3從Express請求返回JSON數據181
6.2.4導入控制器181
6.2.5測試API183
6.3GET請求方式:從MongoDB讀取數據184
6.3.1在MongoDB中使用Mongoose查找單個文檔184
6.3.2根據ID查找單個子文檔188
6.3.3使用地理位置查詢多個文檔191
6.4Post請求方式:向MongoDB添加數據198
6.4.1在MongoDB中創建文檔198
6.4.2使用Mongoose校驗數據200
6.4.3在MongoDB中創建新的子文檔202
6.5PUT請求方式:更新MongoDB數據206
6.5.1在MongoDB中使用Mongoose更新文檔206
6.5.2使用Mongoose的save方法206
6.5.3更新MongoDB中已存在的子文檔209
6.6DELETE請求方式:刪除MongoDB數據211
6.6.1刪除MongoDB中的文檔211
6.6.2刪除MongoDB中的子文檔213
6.7本章小結215
第7章消費RESTAPI:使用來自Express內部的API217
7.1如何調用ExpressAPI218
7.1.1添加request模塊218
7.1.2設置默認選項219
7.1.3使用request模塊219
7.2使用API返回列表數據:Loc8r主頁221
7.2.1關注分離:將渲染移入命名函數221
7.2.2構建API請求222
7.2.3使用API響應數據223
7.2.4在展示數據前修改數據:修改距離值225
7.2.5捕獲API返回的錯誤227
7.3從API獲取單個文檔:Details頁面232
7.3.1關注分離:將渲染移入命名函數234
7.3.2使用URL中的ID參數查詢API234
7.3.3將數據從API傳遞到視圖235
7.3.4調試并修復視圖錯誤236
7.3.5使用Pugmixin格式化日期數據238
7.3.6創建基于返回狀態的錯誤頁239
7.4通過API向數據庫添加數據:添加Loc8r用戶評論242
7.4.1設置路由和視圖242
7.4.2提交評論數據到API247
7.5通過數據驗證保護數據完整性249
7.5.1在模式中使用Mongoose驗證249
7.5.2使用Node和Express在應用程序層進行驗證253
7.5.3使用jQuery在瀏覽器中進行驗證255
7.6本章小結256
第Ⅲ部分使用Angular創建動態頁面
第8章使用TypeScript開發Angular應用程序259
8.1創建并運行Angular260
8.1.1使用命令行創建Angular模板應用程序260
8.1.2運行Angular應用程序262
8.1.3應用程序的源代碼262
8.2開發Angular組件269
8.2.1創建新的home-list組件269
8.2.2創建HTML模板271
8.2.3從模板向組件遷移數據274
8.2.4在HTML模板中引用類的成員變量277
8.3從API接口中獲取數據284
8.3.1創建數據服務285
8.3.2調用數據服務288
8.4在生產環境中部署Angular應用程序292
8.4.1構建生產環境中的Angular應用程序292
8.4.2集成Express站點和Angular應用程序292
8.5本章小結295
第9章使用Angular開發單頁面應用:基礎297
9.1為AngularSPA添加跳轉功能298
9.1.1導入Angular路由模塊并定義第一個路由299
9.1.2路由配置299
9.1.3創建framework組件以及導航欄300
9.1.4使用router-outlet定義顯示內容302
9.1.5在不同頁面之間跳轉303
9.1.6為跳轉鏈接增加選中樣式305
9.2使用多個嵌套組件構建模塊化的應用程序306
9.2.1創建homepage組件307
9.2.2創建并使用可復用組件309
9.3根據地理位置查找附近地點316
9.3.1創建Angular地理位置服務316
9.3.2在應用程序中添加地理位置服務318
9.3.3在home-list組件中使用地理位置服務319
9.4安全綁定HTML片段324
9.4.1完善關于頁的內容324
9.4.2創建用于轉義換行符的管道325
9.4.3屬性綁定:安全地綁定HTML片段327
9.5挑戰328
9.6本章小結329
第10章使用Angular開發單頁面應用:進階331
10.1處理更復雜的視圖和路由參數332
10.1.1規劃頁面布局332
10.1.2創建組件333
10.1.3根據URL參數設置和定義路由335
10.1.4在組件和服務中使用URL參數337
10.1.5向詳情頁組件傳遞數據341
10.1.6構建詳情頁視圖343
10.2處理表單和提交數據349
10.2.1使用Angular添加評價350
10.2.2向API提交表單數據355
10.3優化現有架構362
10.3.1使用單獨的文件保存路由配置362
10.3.2優化Location類的定義方式366
10.4使用SPA替換服務器端應用程序371
10.4.1在Express中配置build文件夾對應的路由372
10.4.2開發URL多級路徑的相關功能374
10.5本章小結375
第Ⅳ部分管理身份認證和用戶會話
第11章認證用戶、管理會話和API安全379
11.1如何在MEAN技術棧中實現身份認證功能380
11.1.1傳統方式380
11.1.2在MEAN技術棧中使用傳統方式382
11.1.3完整的MEAN技術棧方式382
11.2為MongoDB創建user模式384
11.2.1單向密碼加密:hash和salt384
11.2.2構建Mongoose模式385
11.2.3基本的user模式385
11.2.4使用Mongoose方法設置加密屬性386
11.2.5驗證提交的密碼387
11.2.6生成JSONWebToken388
11.3使用Passport創建身份認證API391
11.3.1安裝和配置Passport392
11.3.2創建API終端以返回JWT395
11.4保護相關的API終端400
11.4.1向Express路由添加身份認證中間件400
11.4.2在控制器中使用JWT信息403
11.5本章小結406
第12章在Angular應用程序中使用身份認證API407
12.1創建Angular身份認證服務407
12.1.1在Angular中管理用戶會話408
12.1.2允許用戶注冊、登錄和注銷410
12.1.3在Angular服務中使用JWT數據413
12.2創建Register和Login頁面414
12.2.1創建Register頁面415
12.2.2構建Login頁面420
12.3在Angular應用程序中使用身份認證423
12.3.1更新導航423
12.3.2為導航添加右側區域423
12.4本章小結434
附錄A安裝MEAN技術棧435
附錄B安裝其他技術棧439
附錄C改造所有視圖447
附錄D再次介紹JavaScript457
序: