TypeScript 實戰指南
內容描述
本書深入淺出地介紹TypeScript基礎知識和開發技巧,可幫助讀者快速入門並掌握TypeScript的開發。本書分為基礎篇和實戰篇,共11章。基礎篇包括:TypeScript的類型與函數、接口與類、命名空間與模塊。實戰篇詳細介紹如何在各種前端項目中應用TypeScript,包括命令行實戰、Express實戰,以及在React、React Native、Vue、微信小程序等項目中如何應用TypeScript,最後還介紹了項目遷移與社區共建等。
本書手把手教你學習TypeScript,包含大量實際案例代碼與開發技巧,可幫助讀者快速掌握TypeScript的開發。
主要內容:
TypeScript的安裝與Hello World代碼。
TypeScript的基礎知識,包括基本類型、高級類型、函數、接口、類等。
命令行實戰案例,從創建項目到配置使用,可使讀者快速進入開發階段。
通過一個案例介紹Express實戰,包括測試驅動的開發和部署等。
如何在React、React Native項目中應用TypeScript。
如何在Vue項目中應用TypeScript,包括項目的開發全流程。
如何與微信小程序項目相結合開發自己的應用。
目錄大綱
前言
基礎篇
第1章Hello TypeScript 2
1.1引言2
1.1.1 JavaScript與ECMAScript 3
1.1.2 TypeScript 5
1.2準備環境8
1.2.1安裝Node.js 8
1.2.2 npm和Yarn 9
1.2.3安裝TypeScript 10
1.3 Visual Studio Code 11
1.3.1安裝VSCode 11
1.3.2安裝Shell命令12
1.4 Hello World 12
1.5本章小結14
1.6作業14
第2章類型與函數15
2.1基本類型15
2.1.1 JavaScript的基本類型16
2.1.2 TypeScript的基本類型16
2.1.3變量聲明18
2.1.4泛型19
2.1.5枚舉22
2.1.6 symbol 25
2.1.7 iterator和generator 26
2.2高級類型31
2.2.1 interface 31
2.2.2交叉類型與聯合類型32
2.2.3類型保護與區分類型35
2.2.4 typeof與instanceof 38
2.2.5類型別名40
2.2.6字面量類型41
2.2.7索引類型與映射類型41
2.2.8類型推導44
2.3函數48
2.3.1定義函數48
2.3.2參數49
2.3.3回調函數和promise 52
2.3.4 async和await 59
2.3.5重載59
2.4本章小結61
2.5作業61
第3章接口與類63
3.1接口63
3.1.1定義64
3.1.2函數類型69
3.1.3可索引類型70
3.1.4繼承接口71
3.2類72
3.2.1定義73
3.2.2實現接口73
3.2.3繼承74
3.2.4存取器76
3.2.5只讀屬性77
3.2.6類函數和靜態屬性78
3.2.7抽像類78
3.3本章小結80
3.4作業80
第4章命名空間與模塊81
4.1命名空間81
4.1.1單文件命名空間81
4.1.2多文件命名空間83
4.1.3別名84
4.1.4外部命名空間85
4.2模塊86
4.2.1導出與導入87
4.2.2生成模塊91
4.2. 3外部模塊94
4.3本章小結97
4.4作業97
實戰篇
第5章命令行應用實戰:天氣查詢106
5.1創建項目106
5.1.1初始化項目108
5.1.2配置TSConfig 109
5.1.3配置TSLint 112
5.1.4使用Git 113
5.2 Commander.js 117
5.2.1格式化命令118
5.2.2更好的輸入120
5.2.3添加色彩122
5.3處理網絡請求123
5.3.1定義接口123
5.3.2 Promise 125
5.3.3 await和async 127
5.4本章小結128
5.5作業128
第6章Express實戰:後端服務129
6.1創建項目129
6.1.1初始化項目130
6.1.2 Husky 131
6.2定義數據結構132
6.2.1連接數據庫133
6.2.2定義數據模型134
6.3數據接口135
6.3.1 Express 136
6.3.2增刪查改137
6.4本章小結142
6.5作業143
第7章React實戰:桌面網站144
7.1創建項目144
7.1.1 create-react-app 145
7.1.2配置TypeScript 147
7.1.3配置TSLint 156
7.2架構158
7.2.1 React-Router 158
7.2.2 Redux 160
7.3編輯提醒事項163
7.3.1組件164
7.3.2 Redux組件166
7.3.3 Redux Persist 170
7.3.4處理網絡請求174
7.4實現列表180
7.4.1實現列表頁180
7.4.2復用編輯組件182
7.5測試190
7.5.1配置Jest 190
7.5.2組件的測試192
7.5.3 Action的測試195
7.5.4 Reducer的測試196
7.6本章小結197
7.7作業198
第8章React Native實戰:客戶端開發199
8.1創建項目199
8.1.1配置開發環境200
8.1.2創建React Native項目208
8.2設計架構210
8.2.1 React Navigation 211
8.2.2 Reudx 212
8.2.3列表頁215
8.3本章小結217
8.4作業217
第9章Vue實戰:HTML 5網頁開發219
9.1創建項目219
9.1.1創建Vue項目220
9.1.2寫TypeScript代碼221
9.2實現列表225
9.2.1 vue-class-component 225
9.2.2網絡請求228
9.2.3列表頁230
9.3本章小結231
9.4作業231
第10章小程序實戰234
10.1創建項目234
10.1.1創建小程序236
10.1.2創建WePY工程項目239
10.1.3配置TypeScript 241
10.1.4入口文件242
10.1.5 WePY頁面243
10.1.6 WePY組件246
10.1.7針對原生API進行優化246
10.2實現列表247
10.2.1網絡請求247
10.2.2列表頁249
10.3本章小結249
10.4作業250
第11章項目遷移與社區共建251
11.1項目遷移251
11.1.1從JavaScript遷移到TypeScript 252
11.1.2從Flow遷移到TypeScript 253
11.2社區共建254
11.2.1貢獻類型文件254
11.2.2關注更新256
11.3本章小結257
11.4作業257
作者介紹
胡桓銘前端開發者,曾任ThoughtWorks前端工程師,參與過多個項目的開發與部署,對TypeScript情有獨鍾,參與了TypeScript的DefinitelyTyped部分維護。