下一代前端开发语言 TypeScript从零重构axios | 完结

小七学习网,助您升职加薪,遇问题可联系:客服微信【1099252741】 备注:来自网站

基于TypeScript从零重构axios
从零开始重构一个功能完整的JS库,并进行单元测试与部署发布,是学习造轮子的不二之选
本课程首先讲解TS的基础语法和常见用法,然后带同学使用TS去实现一个完整的axios JS库,进行完整的单元测试,最后把开发的JS库打包并发布到npm上。通过课程学习掌握axios的实现原理,修炼原生JS内功,提升职场竞争力。

基于TypeScript从零重构axios
从零开始重构一个功能完整的JS库,并进行单元测试与部署发布,是学习造轮子的不二之选
本课程首先讲解TS的基础语法和常见用法,然后带同学使用TS去实现一个完整的axios JS库,进行完整的单元测试,最后把开发的JS库打包并发布到npm上。通过课程学习掌握axios的实现原理,修炼原生JS内功,提升职场竞争力。

〖课程目录〗:

  • 第1章 课程介绍【悄悄告诉你,一定要看,有福利】 试看1 节 | 10分钟
  • 介绍本课程的主要内容,通过本次课程可以学到的知识点,学习方法介绍。
  • 收起列表
    • 视频:1-1 课程介绍 (09:47)试看
  • 第2章 初识 Typescript【初次体验】 试看2 节 | 17分钟
  • 教会同学们安装 Typescript 编译器,以及通过编写第一个 TypeScript 程序认识 TypeScript。
  • 收起列表
    • 视频:2-1 安装 TypeScript (02:50)
    • 视频:2-2 编写第一个 TypeScript 程序 (13:27)试看
  • 第3章 Typescript 类型系统【必备基础,牢固掌握】26 节 | 268分钟
  • 参考官方文档,主讲 TypeScript 的一些重要的语法和概念,并配合一些具体的代码示例辅助说明,帮助同学们了解 TypeScript 的常见用法,为之后的实战打下基础。
  • 收起列表
    • 视频:3-1 基础类型(上) (11:39)
    • 视频:3-2 基础类型(下) (18:43)
    • 视频:3-3 基础类型(注意版本报错问题) (06:01)
    • 视频:3-4 变量声明 – var 声明 (12:10)
    • 视频:3-5 变量声明 – let 声明 (13:14)
    • 视频:3-6 变量声明 – const 声明 (03:21)
    • 视频:3-7 变量声明 – 解构 (12:55)
    • 视频:3-8 变量声明 – 展开 (03:49)
    • 视频:3-9 接口 – 接口初探 (05:12)
    • 视频:3-10 接口 – 可选属性+只读属性 (09:17)
    • 视频:3-11 接口 – 额外属性检查+函数类型+可索引的类型 (12:20)
    • 视频:3-12 接口 -类类型+继承接口+混合类型+接口继承类 (16:23)
    • 视频:3-13 类 – 基本示例+继承 (11:32)
    • 视频:3-14 类 – 公共,私有与受保护修饰符+ readonly 修饰符 (13:45)
    • 视频:3-15 类 – 存取器+ 静态属性 (10:07)
    • 视频:3-16 类 – 抽象类+ 高级技巧 (11:50)
    • 视频:3-17 函数 – 基本示例+ 函数类型 (05:48)
    • 视频:3-18 函数 – 可选参数和默认参数 (07:08)
    • 视频:3-19 函数 – this+ 重载 (17:18)
    • 视频:3-20 泛型 – 基本示例+ 使用泛型变量+泛型类型 (10:14)
    • 视频:3-21 泛型 – 泛型类+泛型约束 (11:40)
    • 视频:3-22 类型推断 – 基础+ 最佳通用类型+ 上下文类型 (06:06)
    • 视频:3-23 高级类型 – 交叉类型 (07:01)
    • 视频:3-24 高级类型 – 联合类型 (07:05)
    • 视频:3-25 高级类型 – 类型保护 (11:10)
    • 视频:3-26 高级类型 – 可以为 null 的类型+ 字符串字面量类型 (11:36)
  • 第4章 ts-axios 项目构建【工欲善其事必先利其器】8 节 | 39分钟
  • 分析 axios 项目的重构需求,使用 typescrpit-library-starter 脚手架初始化项目,并编写基础请求的代码,搭建整个 demo 的架构方案。
  • 收起列表
    • 视频:4-1 需求分析 (02:13)
    • 视频:4-2 初始化项目 – 创建代码仓库 (02:29)
    • 视频:4-3 初始化项目 – TypeScript library starter (05:02)
    • 视频:4-4 初始化项目 – 关联远程分支 (05:24)
    • 视频:4-5 编写基础请求代码 – 创建入口文件 (07:12)
    • 视频:4-6 编写基础请求代码 – 利用 XMLHttpRequest 发送请求 (04:13)
    • 视频:4-7 编写基础请求代码 – demo 编写 (11:45)
    • 作业:4-8 【讨论题】编写基础请求代码
  • 第5章 ts-axios 基础功能实现【核心流程】 试看12 节 | 77分钟
  • 实现 axios 的基础功能,包括对请求 url、data、header 以及响应 data、header 的处理。
  • 收起列表
    • 视频:5-1 处理请求 url 参数 – 需求分析 (03:20)
    • 视频:5-2 处理请求 url 参数 – buildURL 函数实现 (15:32)
    • 视频:5-3 处理请求 url 参数 – 实现 url 参数处理逻辑 (03:33)
    • 视频:5-4 处理请求 url 参数 – demo 编写 (04:08)
    • 视频:5-5 处理请求 body 数据 – 需求分析+ 实现 (11:36)试看
    • 视频:5-6 处理请求 header – 需求分析 (01:02)
    • 视频:5-7 处理请求 header – processHeaders 函数实现 (06:10)
    • 视频:5-8 处理请求 header – 实现请求 header 处理逻辑 (06:19)
    • 视频:5-9 处理请求 header – demo 编写 (04:00)
    • 视频:5-10 获取响应数据 – 需求分析+实现 (11:42)
    • 视频:5-11 处理响应 header – 需求分析+ parseHeaders 函数实现及应用 (04:47)
    • 视频:5-12 处理响应 data – 需求分析+ transformResponse 函数实现及应用 (04:24)
  • 第6章 ts-axios 异常情况处理【不可忽视的边界条件】5 节 | 24分钟
  • 处理 axios 请求的一些异常情况,包括网络错误、请求超时,构造一个信息增强错误处理类。
  • 收起列表
    • 视频:6-1 错误处理 – 需求分析 (00:35)
    • 视频:6-2 错误处理- 网络错误+超时错误+非200状态码+demo (08:33)
    • 视频:6-3 错误信息增强 – 需求分析 (00:44)
    • 视频:6-4 错误信息增强 – 创建 AxiosError 类 (07:14)
    • 视频:6-5 错误信息增强 – createError 方法应用+ 导出类型定义 (06:16)
  • 第7章 ts-axios 接口扩展【工厂模式的合理运用,设计思想的转变】5 节 | 39分钟
  • 把 axios 从普通函数实现到通过工厂模式类的设计转变,并扩展更多调用接口,把 axios 变成了一个 混合对象,以及让响应数据支持泛型。
  • 收起列表
    • 视频:7-1 -1 扩展接口 – 需求分析 (01:08)
    • 视频:7-2 -2 扩展接口 -接口类型定义+ 创建 Axios 类 (12:42)
    • 视频:7-3 -3 扩展接口 – 混合对象实现+ demo 编写 (09:49)
    • 视频:7-4 -1 axios 函数重载 – 需求分析+ 重载实现+ demo 编写 (05:52)
    • 视频:7-5 -1 响应数据支持泛型- 需求分析+ 接口添加泛型参数+ demo 编写 (08:49)
  • 第8章 ts-axios 拦截器实现【巧妙运用 Promise 链式调用】4 节 | 33分钟
  • 实现 axios 的拦截器功能,对整个实现做了详细的设计,最后实现拦截器管理类以及链式调用逻辑。
  • 收起列表
    • 视频:8-1 -1 拦截器的设计与实现 – 需求分析+ 整体设计 (03:16)
    • 视频:8-2 -2 拦截器的设计与实现 – 拦截器管理类实现 (13:22)
    • 视频:8-3 -3 拦截器的设计与实现 – 链式调用实现 (08:46)
    • 视频:8-4 -4 拦截器的设计与实现 – demo 编写 (06:58)
  • 第9章 ts-axios 配置化实现【巧妙运用策略模式实现配置合并】7 节 | 63分钟
  • 让 axios 支持一些默认配置,实现了配置的合并,根据不同的属性采用不同的合并策略,并且扩展了 axios.create 方法扩展默认配置,生成新的实例。
  • 收起列表
    • 视频:9-1 合并配置的设计与实现 – 需求分析 + 默认配置 (07:42)
    • 视频:9-2 合并配置的设计与实现 – 配置合并策略(上) (11:07)
    • 视频:9-3 合并配置的设计与实现 – 配置合并策略(下) (11:03)
    • 视频:9-4 合并配置的设计与实现 – flatten headers + demo 编写 (10:04)
    • 视频:9-5 请求和响应配置化- 需求分析+ 修改默认配置 (06:55)
    • 视频:9-6 请求和响应配置化- transform 逻辑重构 + demo 编写 (09:25)
    • 视频:9-7 扩展 axios.create 静态接口 – 需求分析+ 静态方法扩展+ demo 实现 (06:00)
  • 第10章 ts-axios 取消功能实现【巧妙运用 Promise 实现异步分离】4 节 | 34分钟
  • 实现 axios 的取消功能,包括对取消接口的设计,CancelToken 类的设计与实现。
  • 收起列表
    • 视频:10-1 -1 取消功能的设计和实现 – 需求分析+ 异步分离的设计方案 (04:24)
    • 视频:10-2 -2 取消功能的设计和实现 – CancelToken 类实现+ 扩展静态接口 (14:10)
    • 视频:10-3 -3 取消功能的设计和实现 – Cancel 类的实现及 axios 的扩展+ 额外逻辑实现 (08:45)
    • 视频:10-4 -4 取消功能的设计和实现 – demo 编写 (06:15)
  • 第11章 ts-axios 更多功能实现【锦上添花】13 节 | 93分钟
  • 实现 axios 更多的功能,包括 XSRF 防御、上传、http 认证授权、withCredentials、自定义参数序列化、自定义合法状态码、自定义合法状态码等,百分百实现官方 axio 在浏览器端的功能。
  • 收起列表
    • 视频:11-1 withCredentials 需求分析&代码实现& demo 编写 (07:40)
    • 作业:11-2 withCredentials 需求分析&代码实现
    • 视频:11-3 xsrf 防御 – 需求分析 (03:31)
    • 作业:11-4 【讨论题】xsrf 防御 – 需求分析
    • 视频:11-5 xsrf 防御 – 代码编写 (15:42)
    • 视频:11-6 xsrf 防御 – demo 编写 (03:39)
    • 视频:11-7 上传和下载的进度监控 需求分析+ 代码实现 (09:40)
    • 视频:11-8 上传和下载的进度监控 demo 编写 (08:46)
    • 视频:11-9 HTTP 授权 需求分析+ 代码实现 + demo 编写 (07:35)
    • 视频:11-10 自定义合法状态码 需求分析+ 代码编写 + demo编写 (06:40)
    • 视频:11-11 自定义参数序列化 需求分析+ 代码编写 + demo编写 (10:13)
    • 视频:11-12 baseURL 需求分析+ 代码编写 + demo编写 (08:08)
    • 视频:11-13 静态方法扩展 需求分析+ 代码编写 + demo编写 (10:48)
  • 第12章 ts-axios 单元测试【保障代码高质量】17 节 | 137分钟
  • 先介绍单元测试,再讲解测试环境搭建,最后完整的实现整个 axios 库的单元测试,保证测试覆盖率达到 99%
  • 收起列表
    • 视频:12-1 前言 (01:44)
    • 视频:12-2 Jest 的安装和配置 Jest 安装 (04:57)
    • 视频:12-3 辅助模块单元测试 准备工作 (01:29)
    • 视频:12-4 辅助模块单元测试 util 模块测试- (11:04)
    • 视频:12-5 辅助模块单元测试 cookie 模块测试 + data 模块测试 + error 模块测试 (07:37)
    • 视频:12-6 辅助模块单元测试 headers 模块测试 (09:02)
    • 视频:12-7 辅助模块单元测试 url 模块测试 (10:03)
    • 视频:12-8 请求模块单元测试 jasmine-ajax + 测试代码编写 (21:52)
    • 视频:12-9 header 模块单元测试 测试代码编写 (05:00)
    • 视频:12-10 Axios 实例模块单元测试 测试代码编写 (04:54)
    • 视频:12-11 拦截器模块单元测试 测试代码编写 (09:42)
    • 视频:12-12 mergeConfig 模块单元测试 测试代码编写 (06:43)
    • 视频:12-13 请求取消模块单元测试 Cancel 类单元测试 + CancelToken 类单元测试 + Cancel 业务逻辑单元测试 (13:27)
    • 视频:12-14 剩余模块单元测试 defaults 模块单元测试 (08:37)
    • 视频:12-15 剩余模块单元测试 transform 模块单元测试 + xsrf 模块单元测试 (07:05)
    • 视频:12-16 剩余模块单元测试 上传下载+HTTP 授权+ 静态方法模块单元测试 (07:38)
    • 视频:12-17 剩余模块单元测试 补充未覆盖的代码测试 (05:28)
  • 第13章 ts-axios 部署发布【向社区分享你的项目】5 节 | 26分钟
  • 讲解 ts-axios 库的部署和发布,使用 Rollup 编写部署构建脚本,使用 semantic-release 管理版本和发布。
  • 收起列表
    • 视频:13-1 ts-axios 编译与发布 需求分析 + 编译和打包 (05:52)
    • 作业:13-2 ts-axios 编译与发布 需求分析 + 编译和打包
    • 视频:13-3 ts-axios 编译与发布 自动化部署 (06:55)
    • 视频:13-4 ts-axios 编译与发布 运行部署脚本 (04:41)
    • 视频:13-5 ts-axios 库 在 TS 和 JS 项目中引用 (07:39)
  • 第14章 课程总结【知识梳理,巩固加深】1 节 | 3分钟
  • 本次课程的整体回顾,总结学习的内容。
  • 收起列表
    • 视频:14-1 课程总结 与回顾 (02:07)

〖视频截图〗:

基于TypeScript从零重构axios

基于TypeScript从零重构axios
免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站(邮箱:1099252741@qq.com,备用微信:1099252741),本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
(0)
上一篇 2022年6月19日 上午11:20
下一篇 2022年6月19日 上午11:20

小七学习网,助您升职加薪,遇问题可联系:客服微信【1099252741】 备注:来自网站

相关推荐

  • Spark + ElasticSearch 构建电商用户标签系统实现精准营销 | 完结

    从Java开发过渡到大数据开发的转型课程 核心技术+业务思路 实现精准营销
    课程利用 Spark + ElasticSearch 构建用户标签系统,利用 Docker+Docker Compose 实现项目的一键启停。涵盖数据同步、数据清洗、用户标签化等步骤,带你领略企业级数据平台的开发流程。

    2022年6月19日
    300
  • 看动画,轻松学习23种C++设计模式 | 更新至4章

    设计模式是一套系统的程序设计思维和方法,和算法一样,设计程序的思维也是永远不会过时的,是每个程序员都要掌握的基础技能。当你熟练掌握了设计模式,会发现很多事情处理起来变得轻松很多,很多难题迎刃而解,晋升也变得更加轻松。C++作为一门应用广泛的语言,市面上欠缺对其设计模式的系统讲解,正因于此,越早掌握C++设计模式,就能越早迈上一个新的台阶,成为更优秀的C++开发者!

    2022年12月12日
    163
  • 遇问题可联系 / 客服微信【1099252741】
  • Python操作三大主流数据库 实战网易新闻客户端 | 完结

    零基础快速进阶,专为只懂Python语法的同学设计
    在开发中不可避免和数据库打交道,本课程专为只懂Python语法的同学准备,在逐步讲解MySQL、MongoDB、Redis 三大主流数据库基础知识的同时,带你用Python 操作三种数据库搭建一个简易的网易新闻移动端前后台,在实操实练中掌握不同类型数据库的特性,落地不同场景下数据库技术的应用。

    2022年6月19日
    297
  • 一课掌握Kotlin 突破开发语言瓶颈 | 完结

    新版Kotlin从入门到精通
    紧跟一线企业标准 抓住Kotlin语言上升期的发展红利
    Kotlin在2019年被确立为Android首选开发语言,一些大厂也对Kotlin语言青睐有加。此次课程以Kotlin1.3.X版本为基础,带你构建Kotlin知识体系。无论对Android开发还是后端开发工程师,都是提升求职砝码的上佳之选。

    2022年6月19日
    267
  • 实战课7个经典应用诠释Java算法精髓,让你在实际开发如鱼得水 | 完结

    深度实战玩转算法
    以Java语言主讲,通过7款经典好玩游戏,真正将算法用于实际开发
    采用基础的Java语言,通过7款经典好玩的游戏,bobo老师带你进入不一样的算法世界,体验算法在实际开发中的应用
    玩游戏,学算法
    结合7个真实案例带你掌握算法核心思想的实际应用

    2022年6月19日
    275
  • 深度学习之目标检测常用算法原理+实践精讲 | 完结

    YOLO / Faster RCNN / SSD / 文本检测 / 多任务网络
    课程从算法角度出发,对各个模型进行全面细致的讲解,并结合人脸检测、物体检测、行人车辆检测、文本检测等项目,熟悉算法工程师在工作中会接触到的数据打包、网络训练、测试等问题,一步步带大家了解和完成目标检测实战案例,尽快进入深度学习领域。

    2022年6月19日
    258
  • LoadRunner性能测试实战训练营 | 完结

    LoadRunner性能测试实战训练营 全流程掌握性能测试
    从理论到项目实战,一个课程涵盖性能测试的基础知识和测试技巧
    课程从基础到真实项目实战,全面系统带你学习性能测试,让你完全掌握性能测试的全流程、主流工具( LoadRunnner)使用、测试脚本开发、场景设计以及测试结果分析,让你学会如何在真实项目中进行性能测试,以及如何对结果进行分析与调优。

    2022年6月19日
    207
  • Activiti6.0工作流引擎深度解析 | 完结

    Activiti6.0工作流引擎深度解析 从容应对复杂业务变化
    Activiti流程引擎倍受各大互联网公司追捧与推崇
    本课程将系统且深入源码讲解Activiti6.0工作流引擎的使用、配置、核心api以及BPMN2.0规范、数据库设计及模型映射,Spring Boot2.0集成,工作流平台搭建、部署与运维等,带你切实学会Activiti6.0。

    2022年6月19日
    284
  • 高性能Java并发框架disruptor源码解析与实战 | 完结

    Java并发编程高阶技术-高性能并发框架源码解析与实战
    全网唯一深度解析并发编程框架disruptor底层源码课程,助你成为并发编程高手,拿下高薪
    本课程从高性能并发框架Disruptor核心知识开始学习,之后带你深度剖析底层源码,整合Netty实战,最后进行架构设计,带你彻底精通一个如此优秀的开源框架,让你无论是应对实际工作、还是面试晋升,都能游刃有余。

    2022年6月19日
    193
  • Elastic-job + Quartz精讲 实现企业级定时任务 | 完结

    知识拆解+经典定时任务案例 精讲Java定时任务框架Elastic-Job和Quartz
    知识拆解+快速入门+框架整合+Java高级玩法+定时任务案例
    分布式集群方式的定时任务框架,可以弥补企业常用的单点任务缺点,以更高性能更好的稳定性处理分布式定时任务服务;本课程带你掌握分布式框架Elastic-Job和Quartz,在以多种方式开发定时任务系统的同时,帮助你加深对分布式系统的理解。

    2022年6月19日
    196