作 者:(意)瓦萊裡奧·德·桑克蒂斯 著 趙利通,崔戰友 譯
定 價:118
出 版 社:清華大學出版社
出版日期:2021年01月01日
頁 數:452
裝 幀:平裝
ISBN:9787302572183
"為了學習全棧Web開發,你需要掌握前端和後端開發知識。本書呈現ASP.NET Core 3.1和Angular 9令人驚嘆的功能,從項目設置一直講到項目部署,幫你有效提高編程技能。 本書開篇介紹如何使用.NET Core框架和Web API控制器,在後端實現API調用和服務器端路由。此後討論如何使用Entity Framework Core來構建數據模型,並使用本地SQL Server實例或基於雲的數據存儲(如Microsoft Azure)來等
●第1章準備工作1
1.1技術需求1
1.2兩個框架,一個目標2
1.2.1ASP.NETCore的變革2
1.2.2Angular有哪些新變化?5
1.2.3選擇.NETCore和Angular的理由11
1.3全棧方法12
1.4SPA、NWA和PWA12
1.4.1單頁面應用程序13
1.4.2原生Web應用程序13
1.4.3漸進式Web應用程序13
1.4.4產品負責人的期望15
1.5SPA項目示例16
1.6準備工作空間16
1.6.1免責聲明17
1.6.2創建項目18
1.7小結22
1.8推薦主題22
第2章探索項目23
2.1技術需求23
2.2解決方案概述23
2.3.NETCore後端24
2.3.1Razor頁面24
2.3.2控制器25
2.3.3配置文件26
2.4Angular前端32
2.4.1工作空間32
2.4.2/ClientApp/src/文件夾38
2.4.3測試應用40
2.5開始工作44
2.5.1靜態文件緩存44
2.5.2清理客戶端應用48
2.6小結53
2.7推薦主題53
第3章前端與後端的交互55
3.1技術需求55
3.2.NETCore健康檢查簡介55
3.2.1添加HealthCheck中間件56
3.2.2添加網際控制報文協議檢查57
3.2.3改進ICMPHealthCheck類59
3.3Angular中的健康檢查64
3.3.1創建Angular組件64
3.3.2將組件添加到Angular應用73
3.4小結75
3.5推薦主題75
第4章使用EntityFrameworkCore創建數據模型77
4.1技術需求77
4.2WorldCitiesWeb應用78
4.3數據源80
4.4數據模型81
4.4.1EntityFrameworkCore簡介81
4.4.2安裝EntityFrameworkCore82
4.4.3SQLServer數據提供者83
4.4.4數據建模方法84
4.5創建實體88
4.5.1定義實體88
4.5.2定義關繫92
4.6獲取SQLServer94
4.6.1安裝SQLServer201995
4.6.2在Azure上創建數據庫97
4.6.3配置數據庫102
4.7使用代碼優先方法創建數據庫104
4.7.1設置DbContext105
4.7.2數據庫初始化策略106
4.7.3更新appsettings.json文件106
4.7.4創建數據庫107
4.7.5添加初始遷移107
4.8填充數據庫111
4.9實體控制器117
4.9.1CitiesController117
4.9.2CountriesController120
4.10小結120
4.11推薦主題121
第5章獲取和顯示數據123
5.1技術需求123
5.2獲取數據123
5.2.1請求和響應123
5.2.2一個長列表125
5.3使用AngularMaterial提供數據129
5.3.1MatTableModule131
5.3.2MatPaginatorModule134
5.3.3MatSortModule144
5.3.4添加過濾功能156
5.4更新國家/地區165
5.4.1.NETCore165
5.4.2Angular168
5.5小結173
5.6推薦主題174
第6章表單和數據驗證175
6.1技術需求175
6.2探索Angular表單176
6.2.1Angular中的表單176
6.2.2使用表單的理由177
6.2.3模板驅動的表單178
6.2.4模型驅動的/響應式表單179
6.3構建第一個響應式表單181
6.3.1ReactiveFormsModule181
6.3.2CityEditComponent182
6.3.3添加導航鏈接187
6.4添加一個新城市190
6.4.1擴展CityEditComponent190
6.4.2添加CreateanewCity按鈕193
6.4.3HTMLselect195
6.4.4AngularMaterialselect(MatSelectModule)199
6.5理解數據驗證201
6.5.1模板驅動的驗證202
6.5.2模型驅動的驗證203
6.5.3服務器端驗證207
6.6FormBuilder簡介213
6.6.1創建CountryEditComponent213
6.6.2測試CountryEditComponent223
6.7小結226
6.8推薦主題226
第7章代碼調整和數據服務227
7.1技術需求227
7.2優化和調整227
7.2.1模板改進228
7.2.2類繼承229
7.3Bug修復和改進232
7.3.1驗證lat和lon232
7.3.2添加城市個數235
7.3.3DTO類——真的應該使用它們嗎?240
7.3.4添加國家/地區名稱244
7.4數據服務247
7.4.1對比XMLHttpRequest與fetch(和HttpClient)248
7.4.2構建數據服務251
7.5小結267
7.6推薦主題267
第8章後端和前端調試269
8.1技術需求269
8.2後端調試269
8.2.1Windows還是Linux?270
8.2.2基礎知識270
8.2.3條件斷點270
8.2.4Output窗口273
8.2.5調試EFCore274
8.3前端調試280
8.3.1VisualStudio中的JavaScript調試280
8.3.2瀏覽器開發者工具282
8.3.3調試Angular表單284
8.3.4客戶端調試289
8.4小結290
8.5推薦主題290
第9章ASP.NETCore和Angul測試291
9.1技術需求291
9.2.NETCo測試292
9.2.1創建WorldCities.Tests項目292
9.2.2第一個測試294
9.2.3測試驅動的開發300
9.2.4行為驅動的開發301
9.3Angul測試302
9.3.1一般概念303
9.3.2第一個Angular測試套件304
9.4小結313
9.5推薦主題314
第10章身份驗證和授權315
10.1技術需求315
10.2是否進行身份驗證和授權316
10.2.1身份驗證316
10.2.2授權318
10.2.3專有與第三方318
10.3使用.NETCore進行專有身份驗證和授權319
10.3.1ASP.NETCoreIdentityModel320
10.3.2設置ASP.NETCoreIdentity321
10.4更新數據庫337
10.4.1添加身份遷移337
10.4.2應用遷移337
10.4.3對數據執行seed操作339
10.5身份驗證方法341
10.5.1會話341
10.5.2令牌342
10.5.3簽名343
10.5.4雙因子343
10.5.5結論343
10.6在Angular中實現身份驗證343
10.6.1創建AuthSample項目344
10.6.2探索Angular授權API346
10.7在WorldCities應用中實現授權API359
10.7.1導入前端授權API359
10.7.2調整後端代碼361
10.7.3測試登錄和注冊364
10.8小結365
10.9推薦主題365
第11章漸進式Web應用367
11.1技術需求367
11.2PWA的特征367
11.2.1安全源368
11.2.2離線加載和Web應用清單369
11.3實現PWA需求370
11.3.1手動安裝370
11.3.2自動安裝377
11.4處理離線狀態379
11.4.1選項1:窗口的isonline/isoffline事件379
11.4.2選項2:Navigator.onLine屬性379
11.4.3選項3:ng-connection-servicenpm包380
11.4.4跨請求資源共享384
11.5測試PWA能力385
11.5.1使用VisualStudio和IISExpress385
11.5.2其他測試方法390
11.6小結391
11.7推薦主題392
第12章Windows和Linux部署393
12.1技術需求393
12.2為生產環境做好準備393
12.2.1.NETCore部署提示394
12.2.2Angular部署提示399
12.3Windows部署402
12.3.1在MSAzure上創建一個WindowsServerVM402
12.3.2配置VM406
12.3.3發布和部署HealthCheck應用408
12.3.4配置IIS410
12.3.5測試HealthCheckWeb應用414
12.4Linux部署415
12.4.1在MSAzure中創建一個LinuxCentOSVM416
12.4.2配置LinuxVM417
12.4.3調整WorldCities應用421
12.4.4發布和部署WorldCities應用423
12.4.5配置Kestrel和Nginx425
12.4.6測試WorldCities應用430
12.5小結432
12.6推薦主題433
使用ASP.NETCore實現WebAPI接口,並通過Angular和RxJSObservable來使用接口。
使用EntityFrameworkCore的代碼優先方法和遷移支持來創建數據模型。
使用本地實例或Azure中的雲數據存儲來建立和配置SQL數據庫服務器。
使用VisualStudio2019執行C#和JavaScript調試。
使用xUnit、Jasmine和Karma執行TDD和B測試。
使用ASP.NETIdentity、IdentityServer4和AngularAPI實現身份驗證和授權。
構建漸進式Web應用,並探索服務工作線程。
(意)瓦萊裡奧·德·桑克蒂斯 著 趙利通,崔戰友 譯
"Valerio De Sanctis是一名掌握豐富技能的IT專業人員,在使用ASP.NET、PHP和Java進行編程、Web開發和項目管理方面具有超過15年的經驗。他在多家金融和保險公司擔任過高級職務,近來在一家業界領先的售後服務和IT服務公司擔任首席技術官、首席安全官和首席運營官,這家公司為多個很好的人壽和非人壽保險集團提供服務。在職業生涯中,Valerio幫助許多私企實現和維護基於.NET的解決方案,與許多IT行業的專家攜手工作,並領導過多個前端、後端和UX開發團隊。他為多個知名的客戶和合作伙伴設計了許多企業級Web應用程序項目的架構,並監管這些項目的開發。這些客戶包括London 等