基于TypeScript从零重构axios教程

资源获取链接点击这里


介绍本课程的主要内容,通过本次课程可以学到的知识点,学习方法介绍。
教会同学们安装 Typescript 编译器,以及通过编写第一个 TypeScript 程序认识 TypeScript。
主讲 TypeScript 的一些重要的基础概念,并配合一些具体的代码示例辅助说明,帮助同学们了解 TypeScript 的常见用法,为之后的实战打下基础
分析 axios 项目的重构需求,使用 typescrpit-library-starter 脚手架初始化项目,并编写基础请求的代码,搭建整个 demo 的架构方案。
实现 axios 的基础功能,包括对请求 url、data、header 以及响应 data、header 的处理。
处理 axios 请求的一些异常情况,包括网络错误、请求超时,构造一个信息增强错误处理类。

把 axios 从普通函数实现到通过工厂模式类的设计转变,并扩展更多调用接口,把 axios 变成了一个 混合对象,以及让响应数据支持泛型。
实现 axios 的拦截器功能,对整个实现做了详细的设计,最后实现拦截器管理类以及链式调用逻辑。
让 axios 支持一些默认配置,实现了配置的合并,根据不同的属性采用不同的合并策略,并且扩展了 axios.create 方法扩展默认配置,生成新的实例。
实现 axios 的取消功能,包括对取消接口的设计,CancelToken 类的设计与实现。
实现 axios 更多的功能,包括 XSRF 防御、上传、http 认证授权、withCredentials、自定义参数序列化、自定义合法状态码、自定义合法状态码等,百分百实现官方 axio 在浏览器端的功能。
先介绍单元测试,再讲解测试环境搭建,最后完整的实现整个 axios 库的单元测试,保证测试覆盖率达到 99%
讲解 ts-axios 库的部署和发布,使用 Rollup 编写部署构建脚本,使用 semantic-release 管理版本和发布。

猜你喜欢

转载自www.cnblogs.com/fenhuhu/p/10766296.html