0. 系列文章
1.使用Typescript重構axios(一)——寫在最前面
2.使用Typescript重構axios(二)——項目起手,跑通流程
3.使用Typescript重構axios(三)——實現基礎功能:處理get請求url參數
4.使用Typescript重構axios(四)——實現基礎功能:處理post請求參數
5.使用Typescript重構axios(五)——實現基礎功能:處理請求的header
6.使用Typescript重構axios(六)——實現基礎功能:獲取響應數據
7.使用Typescript重構axios(七)——實現基礎功能:處理響應header
8.使用Typescript重構axios(八)——實現基礎功能:處理響應data
9.使用Typescript重構axios(九)——異常處理:基礎版
10.使用Typescript重構axios(十)——異常處理:增強版
11.使用Typescript重構axios(十一)——接口擴展
12.使用Typescript重構axios(十二)——增加參數
13.使用Typescript重構axios(十三)——讓響應數據支持泛型
14.使用Typescript重構axios(十四)——實現攔截器
15.使用Typescript重構axios(十五)——默認配置
16.使用Typescript重構axios(十六)——請求和響應數據配置化
17.使用Typescript重構axios(十七)——增加axios.create
18.使用Typescript重構axios(十八)——請求取消功能:總體思路
19.使用Typescript重構axios(十九)——請求取消功能:實現第二種使用方式
20.使用Typescript重構axios(二十)——請求取消功能:實現第一種使用方式
21.使用Typescript重構axios(二十一)——請求取消功能:添加axios.isCancel接口
22.使用Typescript重構axios(二十二)——請求取消功能:收尾
23.使用Typescript重構axios(二十三)——添加withCredentials屬性
24.使用Typescript重構axios(二十四)——防御XSRF攻擊
25.使用Typescript重構axios(二十五)——文件上傳下載進度監控
26.使用Typescript重構axios(二十六)——添加HTTP授權auth屬性
27.使用Typescript重構axios(二十七)——添加請求狀態碼合法性校驗
28.使用Typescript重構axios(二十八)——自定義序列化請求參數
29.使用Typescript重構axios(二十九)——添加baseURL
30.使用Typescript重構axios(三十)——添加axios.getUri方法
31.使用Typescript重構axios(三十一)——添加axios.all和axios.spread方法
32.使用Typescript重構axios(三十二)——寫在最后面(總結)
1. 總結
本系列文章是博主在學習了TypeScript
后想着找個小項目做做以此來檢驗一下學習成果,但是又覺得做一個小應用如待辦清單之類的實際意義不是很大,突發奇想不如造個輪子試試。由於是第一次造輪子,所以想選擇一個常用,易於理解,並且自己較熟悉的輪子。網上搜索一番,發現前后端交互神器axios
造的人挺多的,並且提供了很多重構思路,為了能夠站在巨人的肩膀上,並且axios
也剛好符合上面提到的三個要求,那就是它啦,使用TypeScript
重構axios
。
經過一段時間的學習,琢磨,摸索以及翻閱大量的資料,終於完成了官方 axios
庫在瀏覽器端的所有需求。並將整個過程中自己的心路歷程都記錄了下來,每篇文章都是博主細細推敲而來,力求完整的還原每一個功能點的重構過程,實現每一個功能都先搞清楚這個功能是干什么的,內部是什么原理,實現的思路是什么。雖不敢說文章的每一個字,每一行代碼都是博主原創,但是整個過程走下來都是自己細細思考而來。這期間查閱了大量的資料,閱讀了官方axios
源碼,站在巨人的肩膀上,學習他人的優秀思路,結合自己的思考,最終完成該系列文章,希望能夠對后來者有所幫助。
2. 參考文獻
- 官方axios源碼
- TypeScript 中文手冊
- 黃佚老師課程《TypeScript從零重構axios》
- 網上相關的諸多博主。
(完)