设为首页 收藏本站
开启辅助访问 切换到宽版 快捷导航
菜单

编辑推荐

基于TypeScript从零重构axios

34
回复
1367
查看
[复制链接]

309

主题

311

帖子

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
69342
发表于 2021-5-12 12:37:12 | 显示全部楼层 |阅读模式
基于TypeScript从零重构axios
主讲:ustbhuangyi课时:18小时
本课程首先讲解TS的基础语法和常见用法,然后带同学使用TS去实现一个完整的axios JS库,进行完整的单元测试,最后把开发的JS库打包并发布到npm上。通过课程学习掌握axios的实现原理,修炼原生JS内功,提升职场竞争力。
售价 : 42金钱
提取码 : 购买后方可查看

课程介绍






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

适合人群
1-5年前端开发人员

技术储备要求
有良好的原生JavaScript功底
熟悉ES6常见的语法和API

另:
1:《
基于TypeScript从零重构axios》来自某课网,原价388,由编程猿整理发布!编程猿承诺,本站所有课程百分百高清,完整,原画,包含所有的视频+素材+课件+源码,官方同步体验!
2:本站所有课程格式MP4格式无密 可以通过网盘在线学习也可下载到本地,方便快捷!
3: 所有课程全部支持试看任何章节,可通过点击右侧官方微信扫码添加要求试看!
4:官方品质,信誉保证,本站包含某课网,某讯课堂,某易云,饥人谷,某度教育....等上万部课程正在陆续更新,感谢同学们的信任与支持,保证让同学们满意!
5:所有课程都会包更新,只要官方更新本站延迟2-3天就会更新。
6:爱好学习,一直提升自己的小伙伴可以
开通会员,享受全站免金币无限制畅快学习!
7:点击下方链接进行试看,在线看默认流畅,调节成原画,最好直接下载到本地是超清
试看链接:https://pan.baidu.com/s/1hy1HFp_3C2tLjFjhktP0ew
提取码:u0wg
如需咨询请点击
章节目录:
第1章 课程介绍【悄悄告诉你,一定要看,有福利】 试看
介绍本课程的主要内容,通过本次课程可以学到的知识点,学习方法介绍。

共 1 节 (10分钟) 收起列表

1-1 课程介绍 (09:47)试看
第2章 初识 Typescript【初次体验】 试看
教会同学们安装 Typescript 编译器,以及通过编写第一个 TypeScript 程序认识 TypeScript。

共 2 节 (17分钟) 收起列表

2-1 安装 TypeScript (02:50)
2-2 编写第一个 TypeScript 程序 (13:27)试看
第3章 Typescript 类型系统【必备基础,牢固掌握】
参考官方文档,主讲 TypeScript 的一些重要的语法和概念,并配合一些具体的代码示例辅助说明,帮助同学们了解 TypeScript 的常见用法,为之后的实战打下基础。

共 26 节 (268分钟) 收起列表

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 项目构建【工欲善其事必先利其器】
分析 axios 项目的重构需求,使用 typescrpit-library-starter 脚手架初始化项目,并编写基础请求的代码,搭建整个 demo 的架构方案。

共 7 节 (39分钟) 收起列表

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)
第5章 ts-axios 基础功能实现【核心流程】 试看
实现 axios 的基础功能,包括对请求 url、data、header 以及响应 data、header 的处理。

共 12 节 (77分钟) 收起列表

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 异常情况处理【不可忽视的边界条件】
处理 axios 请求的一些异常情况,包括网络错误、请求超时,构造一个信息增强错误处理类。

共 5 节 (24分钟) 收起列表

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 接口扩展【工厂模式的合理运用,设计思想的转变】
把 axios 从普通函数实现到通过工厂模式类的设计转变,并扩展更多调用接口,把 axios 变成了一个 混合对象,以及让响应数据支持泛型。

共 5 节 (39分钟) 收起列表

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 链式调用】
实现 axios 的拦截器功能,对整个实现做了详细的设计,最后实现拦截器管理类以及链式调用逻辑。

共 4 节 (33分钟) 收起列表

8-1 -1 拦截器的设计与实现 - 需求分析+ 整体设计 (03:16)
8-2 -2 拦截器的设计与实现 - 拦截器管理类实现 (13:22)
8-3 -3 拦截器的设计与实现 - 链式调用实现 (08:46)
8-4 -4 拦截器的设计与实现 - demo 编写 (06:58)
第9章 ts-axios 配置化实现【巧妙运用策略模式实现配置合并】
让 axios 支持一些默认配置,实现了配置的合并,根据不同的属性采用不同的合并策略,并且扩展了 axios.create 方法扩展默认配置,生成新的实例。

共 7 节 (63分钟) 收起列表

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 实现异步分离】
实现 axios 的取消功能,包括对取消接口的设计,CancelToken 类的设计与实现。

共 4 节 (34分钟) 收起列表

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 更多功能实现【锦上添花】
实现 axios 更多的功能,包括 XSRF 防御、上传、http 认证授权、withCredentials、自定义参数序列化、自定义合法状态码、自定义合法状态码等,百分百实现官方 axio 在浏览器端的功能。

共 11 节 (93分钟) 收起列表

11-1 withCredentials 需求分析&代码实现& demo 编写 (07:40)
11-2 xsrf 防御 - 需求分析 (03:31)
11-3 xsrf 防御 - 代码编写 (15:42)
11-4 xsrf 防御 - demo 编写 (03:39)
11-5 上传和下载的进度监控 需求分析+ 代码实现 (09:40)
11-6 上传和下载的进度监控 demo 编写 (08:46)
11-7 HTTP 授权 需求分析+ 代码实现 + demo 编写 (07:35)
11-8 自定义合法状态码 需求分析+ 代码编写 + demo编写 (06:40)
11-9 自定义参数序列化 需求分析+ 代码编写 + demo编写 (10:13)
11-10 baseURL 需求分析+ 代码编写 + demo编写 (08:08)
11-11 静态方法扩展 需求分析+ 代码编写 + demo编写 (10:48)
第12章 ts-axios 单元测试【保障代码高质量】
先介绍单元测试,再讲解测试环境搭建,最后完整的实现整个 axios 库的单元测试,保证测试覆盖率达到 99%

共 17 节 (137分钟) 收起列表

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 部署发布【向社区分享你的项目】
讲解 ts-axios 库的部署和发布,使用 Rollup 编写部署构建脚本,使用 semantic-release 管理版本和发布。

共 4 节 (26分钟) 收起列表

13-1 ts-axios 编译与发布 需求分析 + 编译和打包 (05:52)
13-2 ts-axios 编译与发布 自动化部署 (06:55)
13-3 ts-axios 编译与发布 运行部署脚本 (04:41)
13-4 ts-axios 库 在 TS 和 JS 项目中引用 (07:39)
第14章 课程总结【知识梳理,巩固加深】
本次课程的整体回顾,总结学习的内容。

共 1 节 (3分钟) 收起列表

14-1 课程总结 与回顾 (02:07)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

274

帖子

549

积分

高级会员

Rank: 4

积分
549
发表于 2021-5-12 16:52:48 | 显示全部楼层
还不错,
回复

使用道具 举报

0

主题

270

帖子

541

积分

高级会员

Rank: 4

积分
541
发表于 2021-5-12 22:33:20 | 显示全部楼层
讲的确实不错,顶一下。
回复

使用道具 举报

0

主题

280

帖子

561

积分

高级会员

Rank: 4

积分
561
发表于 2021-5-13 07:22:06 | 显示全部楼层
谢谢楼主,望合作愉快!
回复

使用道具 举报

0

主题

256

帖子

513

积分

高级会员

Rank: 4

积分
513
发表于 2021-5-14 12:33:31 | 显示全部楼层
谢了楼主
回复

使用道具 举报

0

主题

270

帖子

541

积分

高级会员

Rank: 4

积分
541
发表于 2021-5-15 08:35:04 | 显示全部楼层
还不错,
回复

使用道具 举报

0

主题

268

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2021-5-15 10:44:10 | 显示全部楼层
我也是刚开的终身会员嘿嘿
回复

使用道具 举报

0

主题

271

帖子

542

积分

高级会员

Rank: 4

积分
542
发表于 2021-5-16 09:23:43 | 显示全部楼层
谢了楼主
回复

使用道具 举报

0

主题

272

帖子

546

积分

高级会员

Rank: 4

积分
546
发表于 2021-5-17 15:03:26 | 显示全部楼层
我也是刚开的终身会员嘿嘿
回复

使用道具 举报

0

主题

262

帖子

524

积分

高级会员

Rank: 4

积分
524
发表于 2021-5-18 14:02:09 | 显示全部楼层
这门课程我还没看完,先给帮忙顶一下吧,课程质量是非常不错的,非常清晰,课件源码视频啥的都有。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则