Angular應(yīng)用程序開發(fā)指南
定 價:129 元
- 作者:成龍
- 出版時間:2020/5/1
- ISBN:9787115524362
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312-62
- 頁碼:575
- 紙張:
- 版次:01
- 開本:16開
《Angular應(yīng)用程序開發(fā)指南》主要介紹如何用 Web 前端框架 Angular 開發(fā)應(yīng)用程序。書中先介紹Angular的發(fā)展歷程和基礎(chǔ)概念,幫助讀者了解Angular框架并打好堅實的基礎(chǔ);然后以“天天菜園”蔬菜訂購應(yīng)用程序為例,將理論講解落實到代碼實現(xiàn)上,帶領(lǐng)讀者真正體驗用Angular開發(fā)應(yīng)用程序的全過程;最后介紹用于實現(xiàn)自動化開發(fā)工作流程的命令行接
口Angular CLI,幫助讀者用所學(xué)知識構(gòu)建新的應(yīng)用程序。本書既涵蓋Angular的基礎(chǔ)內(nèi)容,又通過真實的項目實例展現(xiàn)了應(yīng)用程序的開發(fā)過程,非常適合對 Angular
框架感興趣的前端開發(fā)人員作為自學(xué)教程。
·基于Angular 7.1.4版本編寫
·手把手教讀者從0到1用Angular開發(fā)應(yīng)用程序
·提供完整的源代碼,后續(xù)推出配套視頻,由作者拆解難點、坑點
·開發(fā)流程具體明晰,完善、優(yōu)化、拓展一應(yīng)俱全
成龍 從事專業(yè)軟件開發(fā)工作近十年,擅長 .NET/.NET Core 和 Web 前端技術(shù)。曾擔(dān)任北大青鳥培訓(xùn)講師,樂于分享領(lǐng)域驅(qū)動設(shè)計的學(xué)習(xí)和運用經(jīng)驗(知乎賬號:@Lcng)
第 1章 初識Angular 1
1.1 JavaScript的誕生 1
1.2 AngularJS的誕生 1
1.3 從AngularJS到Angular 2 2
1.4 從Angular 2到Angular 2
1.5 Angular是一個框架 3
1.6 小結(jié) 4
第 2章 準(zhǔn)備工作 5
2.1 跨平臺的開發(fā)環(huán)境 5
2.1.1 Node.js 5
2.1.2 Visual Studio Code 8
2.1.3 TypeScript編譯器 10
2.1.4 調(diào)試TypeScript代碼 14
2.1.5 Express 18
2.2 了解模塊 22
2.2.1 通用模塊 22
2.2.2 ECMAScript模塊 31
2.3 小結(jié) 33
第3章 TypeScript語法基礎(chǔ) 34
3.1 基礎(chǔ)概念 34
3.1.1 模塊 34
3.1.2 變量和常量 39
3.1.3 基礎(chǔ)類型 41
3.1.4 類型斷言 51
3.2 函數(shù) 53
3.2.1 函數(shù)參數(shù) 53
3.2.2 函數(shù)的返回類型 57
3.2.3 函數(shù)類型 58
3.2.4 函數(shù)的重載 63
3.2.5 箭頭函數(shù) 64
3.3 類 67
3.3.1 實例成員 68
3.3.2 靜態(tài)成員 73
3.3.3 可選成員 76
3.3.4 索引 78
3.3.5 繼承 79
3.3.6 可訪問性 86
3.3.7 抽象類 92
3.4 小結(jié) 95
第4章 TypeScript進(jìn)階 96
4.1 類型和接口 96
4.1.1 常用類型 96
4.1.2 特殊類型 104
4.1.3 接口 107
4.1.4 運行時類型判斷 113
4.2 泛型 120
4.2.1 泛型函數(shù) 121
4.2.2 泛型類 122
4.2.3 泛型接口 125
4.2.4 類型推斷 127
4.2.5 類型約束 128
4.3 裝飾器 129
4.3.1 元數(shù)據(jù) 130
4.3.2 reflect-metadata 134
4.3.3 屬性裝飾器 137
4.3.4 類裝飾器 142
4.3.5 其他裝飾器 153
4.3.6 裝飾器工廠 155
4.4 小結(jié) 160
第5章 TypeScript補充 161
5.1 模塊 161
5.1.1 導(dǎo)出 161
5.1.2 導(dǎo)入 164
5.1.3 模塊解析 168
5.1.4 模塊擴(kuò)展 176
5.2 命名空間 178
5.2.1 全局命名空間 179
5.2.2 模塊內(nèi)的命名空間 181
5.2.3 global擴(kuò)展 183
5.2.4 Node.js全局作用域 188
5.3 聲明文件 191
5.3.1 環(huán)境上下文 192
5.3.2 編寫聲明文件 194
5.3.3 環(huán)境模塊 198
5.3.4 使用JavaScript包 200
5.3.5 TypeScript庫 205
5.4 項目配置 208
5.5 小結(jié) 209
第6章 Angular基礎(chǔ)概念 210
6.1 Angular應(yīng)用程序的組成部分 210
6.1.1 組件 211
6.1.2 模板 212
6.1.3 數(shù)據(jù)綁定 213
6.1.4 服務(wù) 214
6.1.5 指令 215
6.1.6 管道 216
6.1.7 模塊 217
6.2 創(chuàng)建一個Angular應(yīng)用程序 218
6.2.1 準(zhǔn)備工作 219
6.2.2 編寫應(yīng)用程序代碼 224
6.2.3 啟動應(yīng)用程序 229
6.2.4 創(chuàng)建過程回顧 235
6.3 Angular和MVC 236
6.3.1 MVC 236
6.3.2 MVVM 238
6.3.3 Angular中的MVC 238
6.4 小結(jié) 240
第7章 天天菜園:一個真實的Angular應(yīng)用程序 241
7.1 創(chuàng)建項目 241
7.2 服務(wù):領(lǐng)域模型 245
7.3 組件:應(yīng)用邏輯 246
7.4 模板:展示邏輯 248
7.4.1 指令 249
7.4.2 數(shù)據(jù)綁定 250
7.4.3 管道 265
7.5 完善 268
7.5.1 MVC目錄 268
7.5.2 常用指令 269
7.5.3 Bootstrap 277
7.5.4 根視圖 281
7.6 小結(jié) 285
第8章 天天菜園:商品展示 286
8.1 創(chuàng)建商品細(xì)節(jié)視圖 286
8.1.1 重構(gòu)商品服務(wù) 286
8.1.2 創(chuàng)建商品細(xì)節(jié)組件 287
8.1.3 創(chuàng)建商品細(xì)節(jié)模板和樣式 288
8.1.4 封裝商品細(xì)節(jié)組件 289
8.2 路由器:構(gòu)建單頁面應(yīng)用程序 290
8.2.1 安裝和配置路由器包 291
8.2.2 注冊路由項 292
8.2.3 使用路由器鏈接指令 294
8.2.4 設(shè)置路由器出口 295
8.2.5 設(shè)置標(biāo)簽 296
8.2.6 刷新商品細(xì)節(jié)視圖 298
8.2.7 美化商品細(xì)節(jié)視圖 300
8.3 領(lǐng)域模塊:劃分領(lǐng)域 304
8.3.1 創(chuàng)建商品領(lǐng)域目錄 304
8.3.2 轉(zhuǎn)移商品領(lǐng)域代碼 305
8.3.3 創(chuàng)建商品領(lǐng)域模塊 306
8.3.4 導(dǎo)入商品領(lǐng)域模塊到根模塊 307
8.3.5 導(dǎo)入Angular模塊到商品領(lǐng)域模塊 307
8.4 路由配置模塊:配置領(lǐng)域路由 308
8.4.1 創(chuàng)建商品領(lǐng)域路由配置模塊 310
8.4.2 導(dǎo)入商品領(lǐng)域路由配置模塊到商品領(lǐng)域模塊 311
8.4.3 創(chuàng)建應(yīng)用程序根路由配置模塊 312
8.4.4 導(dǎo)入應(yīng)用程序根路由配置模塊到應(yīng)用程序根模塊 312
8.5 依賴注入:管理服務(wù) 313
8.5.1 注冊商品服務(wù) 314
8.5.2 為商品列表組件注入商品服務(wù) 316
8.5.3 為商品細(xì)節(jié)組件注入商品服務(wù) 317
8.6 綜合運用:傳遞業(yè)務(wù)參數(shù) 318
8.6.1 附加商品ID到目標(biāo)path 318
8.6.2 配置匹配商品ID的路由參數(shù) 319
8.6.3 獲取目標(biāo)path中的商品ID 320
8.6.4 完善 323
8.7 小結(jié) 324
第9章 天天菜園:客戶中心(上) 325
9.1 客戶領(lǐng)域模塊:復(fù)習(xí)鞏固 325
9.1.1 創(chuàng)建客戶領(lǐng)域目錄 325
9.1.2 創(chuàng)建客戶領(lǐng)域模型 326
9.1.3 創(chuàng)建客戶組件 328
9.1.4 創(chuàng)建視圖相關(guān)文件 331
9.1.5 創(chuàng)建客戶領(lǐng)域路由配置模塊 334
9.1.6 創(chuàng)建客戶領(lǐng)域模塊 335
9.1.7 導(dǎo)入客戶領(lǐng)域模塊到根模塊 336
9.1.8 導(dǎo)航到客戶視圖 337
9.2 路由加載模塊:提高應(yīng)用程序啟動效率 338
9.2.1 路由加載客戶領(lǐng)域模塊 339
9.2.2 重新導(dǎo)航到客戶視圖 341
9.2.3 模塊和依賴注入器 343
9.3 表單(上):雙向數(shù)據(jù)綁定 347
9.3.1 安裝和配置表單包 347
9.3.2 導(dǎo)入表單模塊到客戶領(lǐng)域模塊 348
9.3.3 提交客戶表單 349
9.3.4 綁定客戶表單 351
9.3.5 進(jìn)行注冊和登錄 356
9.4 小結(jié) 357
第 10章 天天菜園:客戶中心(下) 358
10.1 表單(下):驗證用戶輸入 358
10.1.1 客戶表單驗證 358
10.1.2 提示表單驗證規(guī)則 365
10.2 Web API:真實的服務(wù)端 375
10.2.1 Web API列表 375
10.2.2 Web API實現(xiàn) 378
10.2.3 Web API注冊 381
10.2.4 獲取請求體 383
10.3 HttpClient:與Web服務(wù)端通信 384
10.3.1 重構(gòu)客戶服務(wù) 385
10.3.2 重構(gòu)客戶組件 396
10.3.3 重構(gòu)商品服務(wù) 399
10.3.4 重構(gòu)商品組件 401
10.4 小結(jié) 402
第 11章 天天菜園:購物車 404
11.1 Web API:服務(wù)端支持 404
11.1.1 Web API列表 404
11.1.2 Web API實現(xiàn) 409
11.1.3 Web API注冊 415
11.2 重構(gòu)商品領(lǐng)域模塊:添加商品到購物車 417
11.2.1 重構(gòu)商品領(lǐng)域模塊 417
11.2.2 重構(gòu)商品服務(wù) 417
11.2.3 重構(gòu)商品細(xì)節(jié)組件 418
11.2.4 重構(gòu)商品細(xì)節(jié)模板 419
11.2.5 重構(gòu)商品細(xì)節(jié)樣式 420
11.3 購物車領(lǐng)域模塊:一次完整的領(lǐng)域?qū)崿F(xiàn)體驗 421
11.3.1 創(chuàng)建購物車領(lǐng)域目錄 422
11.3.2 創(chuàng)建購物車領(lǐng)域模型 422
11.3.3 創(chuàng)建購物車組件 424
11.3.4 創(chuàng)建購物車視圖文件 427
11.3.5 創(chuàng)建購物車領(lǐng)域路由配置模塊 430
11.3.6 創(chuàng)建購物車領(lǐng)域模塊 430
11.3.7 加載購物車領(lǐng)域模塊 431
11.3.8 導(dǎo)航到購物車視圖 432
11.4 事件綁定:處理用戶交互 433
11.4.1 增加或減少購物車商品數(shù)量 434
11.4.2 刪除購物車商品 436
11.4.3 直接修改購物車商品數(shù)量 437
11.5 嵌套組件:構(gòu)建復(fù)雜應(yīng)用程序 441
11.5.1 重構(gòu)商品服務(wù) 442
11.5.2 重構(gòu)商品列表組件 442
11.5.3 重構(gòu)商品列表模板 443
11.5.4 傳遞搜索參數(shù) 444
11.5.5 創(chuàng)建商品搜索組件 446
11.5.6 重構(gòu)購物車領(lǐng)域模塊 448
11.5.7 顯示商品搜索視圖 448
11.5.8 強(qiáng)化商品搜索組件 450
11.6 小結(jié) 453
第 12章 天天菜園:完善(上) 455
12.1 部件模塊:封裝共享組件 455
12.2 Subject:模塊間通信 463
12.2.1 同步購物車商品總數(shù)(上) 464
12.2.2 同步購物車商品總數(shù)(中) 468
12.2.3 Observable vs. Subject 470
12.3 服務(wù)模塊:封裝共享服務(wù) 482
12.3.1 同步購物車商品總數(shù)(下) 482
12.3.2 同步登錄客戶姓名 485
12.3.3 完善同步 489
12.3.4 五種特性模塊的比較 493
12.4 小結(jié) 493
第 13章 天天菜園:完善(下) 494
13.1 保護(hù)購物車視圖 494
13.1.1 創(chuàng)建路由守衛(wèi) 494
13.1.2 注冊路由守衛(wèi) 496
13.1.3 應(yīng)用路由守衛(wèi) 496
13.2 保護(hù)登錄客戶元素 497
13.2.1 創(chuàng)建登錄驗證指令 497
13.2.2 封裝登錄驗證指令 498
13.2.3 運用登錄驗證指令 499
13.3 共享消息提示 500
13.3.1 創(chuàng)建消息提示服務(wù) 501
13.3.2 注冊消息提示服務(wù) 501
13.3.3 創(chuàng)建消息提示組件 502
13.3.4 封裝消息提示組件 503
13.3.5 發(fā)送提示消息 504
13.3.6 顯示提示消息 505
13.4 簡化消息提示 507
13.4.1 創(chuàng)建消息提示組件 507
13.4.2 重構(gòu)消息提示服務(wù) 508
13.4.3 創(chuàng)建UI服務(wù)模塊 510
13.4.4 導(dǎo)入UI服務(wù)模塊到根模塊 511
13.4.5 顯示消息提示 511
13.5 確認(rèn)提示 514
13.5.1 創(chuàng)建確認(rèn)提示組件 514
13.5.2 創(chuàng)建確認(rèn)提示服務(wù) 515
13.5.3 注冊確認(rèn)提示服務(wù) 517
13.5.4 顯示確認(rèn)提示 517
13.6 動畫 519
13.6.1 安裝Angular動畫包 519
13.6.2 搜索按鈕動畫 520
13.6.3 購物車商品刪除動畫 524
13.6.4 路由過渡動畫 531
13.7 小結(jié) 538
第 14章 使用Angular CLI 539
14.1 構(gòu)建已有應(yīng)用程序 540
14.1.1 安裝Angular CLI 540
14.1.2 安裝Angular編譯器 540
14.1.3 選擇要打包的墊片 541
14.1.4 創(chuàng)建Angular工作空間配置文件 542
14.1.5 不執(zhí)行預(yù)先編譯的構(gòu)建 544
14.1.6 執(zhí)行預(yù)先編譯的構(gòu)建 551
14.1.7 用于生產(chǎn)的構(gòu)建 553
14.1.8 完善 556
14.2 開發(fā)新的應(yīng)用程序 558
14.2.1 創(chuàng)建應(yīng)用程序 558
14.2.2 啟動應(yīng)用程序 564
14.2.3 添加功能 565
14.2.4 使用語言服務(wù) 572
14.2.5 構(gòu)建應(yīng)用程序 573
14.3 小結(jié) 574