找回密码
 注册

QQ登录

只需一步,快速开始

搜索
[友情小站] 男士宝库 在线ASMR视频站
查看: 18300|回复: 96

[前&后端开发] 前端下一代开发语言TypeScript 从基础到axios实战(完整版)

  [复制链接]

[前&后端开发] 前端下一代开发语言TypeScript 从基础到axios实战(完整版)

  [复制链接]
  • TA的每日心情
    慵懒
    19 小时前
  • 签到天数: 2510 天

    连续签到: 400 天

    [LV.Master]伴坛终老

    395

    主题

    2506

    回帖

    2233

    积分

    超级版主

    积分
    2233
    二狗子

    395

    主题

    2506

    回帖

    2233

    积分

    超级版主

    积分
    2233
    2019-8-26 01:27:34 | 显示全部楼层 |阅读模式
    TypeScript是前端的发展趋势,但是很多同学却缺少实战经验,而且市面上缺少TypeScript 的实战课程。
    本课程首先讲解TypeScript的一些基础语法和常见用法,接着带同学们使用TypeScript一步步去实现一个完整的axios JS库,然后进行完整的单元测试,最后把开发的JS 库打包并发布到npm上。通过课程学习完全掌握axios的实现原理,修炼原生JavaScript内功,提升个人职场竞争力。

    课程目录:
    第1章 课程介绍【悄悄告诉你,一定要看,有福利】
    介绍本课程的主要内容,通过本次课程可以学到的知识点,学习方法介绍。

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

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

    3-1 基础类型(上)
    3-2 基础类型(下)
    3-3 基础类型(注意版本报错问题)
    3-4 变量声明 - var 声明
    3-5 变量声明 - let 声明
    3-6 变量声明 - const 声明
    3-7 变量声明 - 解构
    3-8 变量声明 - 展开
    3-9 接口 - 接口初探
    3-10 接口 - 可选属性+只读属性
    3-11 接口 - 额外属性检查+函数类型+可索引的类型
    3-12 接口 -类类型+继承接口+混合类型+接口继承类
    3-13 类 - 基本示例+继承
    3-14 类 - 公共,私有与受保护修饰符+ readonly 修饰符
    3-15 类 - 存取器+ 静态属性
    3-16 类 - 抽象类+ 高级技巧
    3-17 函数 - 基本示例+ 函数类型
    3-18 函数 - 可选参数和默认参数
    3-19 函数 - this+ 重载
    3-20 泛型 - 基本示例+ 使用泛型变量+泛型类型
    3-21 泛型 - 泛型类+泛型约束
    3-22 类型推断 - 基础+ 最佳通用类型+ 上下文类型
    3-23 高级类型 - 交叉类型
    3-24 高级类型 - 联合类型
    3-25 高级类型 - 类型保护
    3-26 高级类型 - 可以为 null 的类型+ 字符串字面量类型
    第4章 ts-axios 项目构建【工欲善其事必先利其器】
    分析 axios 项目的重构需求,使用 typescrpit-library-starter 脚手架初始化项目,并编写基础请求的代码,搭建整个 demo 的架构方案。

    4-1 需求分析
    4-2 初始化项目 - 创建代码仓库
    4-3 初始化项目 - TypeScript library starter
    4-4 初始化项目 - 关联远程分支
    4-5 编写基础请求代码 - 创建入口文件
    4-6 编写基础请求代码 - 利用 XMLHttpRequest 发送请求
    4-7 编写基础请求代码 - demo 编写
    第5章 ts-axios 基础功能实现【核心流程】
    实现 axios 的基础功能,包括对请求 url、data、header 以及响应 data、header 的处理。

    5-1 处理请求 url 参数 - 需求分析
    5-2 处理请求 url 参数 - buildURL 函数实现
    5-3 处理请求 url 参数 - 实现 url 参数处理逻辑
    5-4 处理请求 url 参数 - demo 编写
    5-5 处理请求 body 数据 - 需求分析+ 实现 试看
    5-6 处理请求 header - 需求分析
    5-7 处理请求 header - processHeaders 函数实现
    5-8 处理请求 header - 实现请求 header 处理逻辑
    5-9 处理请求 header - demo 编写
    5-10 获取响应数据 - 需求分析+实现
    5-11 处理响应 header - 需求分析+ parseHeaders 函数实现及应用
    5-12 处理响应 data - 需求分析+ transformResponse 函数实现及应用
    第6章 ts-axios 异常情况处理【不可忽视的边界条件】
    处理 axios 请求的一些异常情况,包括网络错误、请求超时,构造一个信息增强错误处理类。

    6-1 错误处理 - 需求分析
    6-2 错误处理- 网络错误+超时错误+非200状态码+demo
    6-3 错误信息增强 - 需求分析
    6-4 错误信息增强 - 创建 AxiosError 类
    6-5 错误信息增强 - createError 方法应用+ 导出类型定义
    第7章 ts-axios 接口扩展【工厂模式的合理运用,设计思想的转变】
    把 axios 从普通函数实现到通过工厂模式类的设计转变,并扩展更多调用接口,把 axios 变成了一个 混合对象,以及让响应数据支持泛型。

    7-1 -1 扩展接口 - 需求分析
    7-2 -2 扩展接口 -接口类型定义+ 创建 Axios 类
    7-3 -3 扩展接口 - 混合对象实现+ demo 编写
    7-4 -1 axios 函数重载 - 需求分析+ 重载实现+ demo 编写
    7-5 -1 响应数据支持泛型- 需求分析+ 接口添加泛型参数+ demo 编写
    第8章 ts-axios 拦截器实现【巧妙运用 Promise 链式调用】
    实现 axios 的拦截器功能,对整个实现做了详细的设计,最后实现拦截器管理类以及链式调用逻辑。

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

    9-1 合并配置的设计与实现 - 需求分析 + 默认配置
    9-2 合并配置的设计与实现 - 配置合并策略(上)
    9-3 合并配置的设计与实现 - 配置合并策略(下)
    9-4 合并配置的设计与实现 - flatten headers + demo 编写
    9-5 请求和响应配置化- 需求分析+ 修改默认配置
    9-6 请求和响应配置化- transform 逻辑重构 + demo 编写
    9-7 扩展 axios.create 静态接口 - 需求分析+ 静态方法扩展+ demo 实现
    第10章 ts-axios 取消功能实现【巧妙运用 Promise 实现异步分离】
    实现 axios 的取消功能,包括对取消接口的设计,CancelToken 类的设计与实现。

    10-1 -1 取消功能的设计和实现 - 需求分析+ 异步分离的设计方案
    10-2 -2 取消功能的设计和实现 - CancelToken 类实现+ 扩展静态接口
    10-3 -3 取消功能的设计和实现 - Cancel 类的实现及 axios 的扩展+ 额外逻辑实现
    10-4 -4 取消功能的设计和实现 - demo 编写
    第11章 ts-axios 更多功能实现【锦上添花】
    实现 axios 更多的功能,包括 XSRF 防御、上传、http 认证授权、withCredentials、自定义参数序列化、自定义合法状态码、自定义合法状态码等,百分百实现官方 axio 在浏览器端的功能。

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

    12-1 前言
    12-2 Jest 的安装和配置 Jest 安装
    12-3 辅助模块单元测试 准备工作
    12-4 辅助模块单元测试 util 模块测试-
    12-5 辅助模块单元测试 cookie 模块测试 + data 模块测试 + error 模块测试
    12-6 辅助模块单元测试 headers 模块测试
    12-7 辅助模块单元测试 url 模块测试
    12-8 请求模块单元测试 jasmine-ajax + 测试代码编写
    12-9 header 模块单元测试 测试代码编写
    12-10 Axios 实例模块单元测试 测试代码编写
    12-11 拦截器模块单元测试 测试代码编写
    12-12 mergeConfig 模块单元测试 测试代码编写
    12-13 请求取消模块单元测试 Cancel 类单元测试 + CancelToken 类单元测试 + Cancel 业务逻辑单元测试
    12-14 剩余模块单元测试 defaults 模块单元测试
    12-15 剩余模块单元测试 transform 模块单元测试 + xsrf 模块单元测试
    12-16 剩余模块单元测试 上传下载+HTTP 授权+ 静态方法模块单元测试
    12-17 剩余模块单元测试 补充未覆盖的代码测试
    第13章 ts-axios 部署发布【向社区分享你的项目】
    讲解 ts-axios 库的部署和发布,使用 Rollup 编写部署构建脚本,使用 semantic-release 管理版本和发布。

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

    14-1 课程总结 与回顾


    下载地址:
    游客,如果您要查看本帖隐藏内容请回复

    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-11-20 10:04
  • 签到天数: 1347 天

    连续签到: 2 天

    [LV.10]以坛为家III

    0

    主题

    2390

    回帖

    3519

    积分

    藏宝阁VIP会员

    积分
    3519

    vip会员

    2019-8-26 07:15:06 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-3-30 11:00
  • 签到天数: 241 天

    连续签到: 6 天

    [LV.8]以坛为家I

    3

    主题

    425

    回帖

    252

    积分

    藏宝阁VIP会员

    积分
    252

    vip会员

    ygawx123

    3

    主题

    425

    回帖

    252

    积分

    藏宝阁VIP会员

    积分
    252

    vip会员

    2019-8-26 09:48:28 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-25 11:35
  • 签到天数: 486 天

    连续签到: 1 天

    [LV.9]以坛为家II

    1

    主题

    1126

    回帖

    1780

    积分

    藏宝阁VIP会员

    积分
    1780

    vip会员

    z250051636

    1

    主题

    1126

    回帖

    1780

    积分

    藏宝阁VIP会员

    积分
    1780

    vip会员

    2019-8-26 09:51:52 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-26 14:57
  • 签到天数: 455 天

    连续签到: 1 天

    [LV.9]以坛为家II

    3

    主题

    1116

    回帖

    2907

    积分

    藏宝阁VIP会员

    积分
    2907
    robinhood.l

    3

    主题

    1116

    回帖

    2907

    积分

    藏宝阁VIP会员

    积分
    2907
    2019-8-26 10:42:25 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:41
  • 签到天数: 274 天

    连续签到: 1 天

    [LV.8]以坛为家I

    6

    主题

    673

    回帖

    411

    积分

    藏宝阁VIP会员

    积分
    411

    vip会员

    longyin123

    6

    主题

    673

    回帖

    411

    积分

    藏宝阁VIP会员

    积分
    411

    vip会员

    2019-8-26 11:35:32 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-5-5 14:28
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    1

    主题

    267

    回帖

    85

    积分

    藏宝阁VIP会员

    积分
    85
    miolove2000

    1

    主题

    267

    回帖

    85

    积分

    藏宝阁VIP会员

    积分
    85
    2019-8-26 11:55:58 | 显示全部楼层
    [前&后端开发] 前端下一代开发语言TypeScript 从基础到axios实战(完整版)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:19
  • 签到天数: 519 天

    连续签到: 2 天

    [LV.9]以坛为家II

    5

    主题

    693

    回帖

    2102

    积分

    藏宝阁VIP会员

    积分
    2102
    2019-8-26 16:05:12 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-7-29 16:15
  • 签到天数: 534 天

    连续签到: 1 天

    [LV.9]以坛为家II

    5

    主题

    1021

    回帖

    1813

    积分

    藏宝阁VIP会员

    积分
    1813
    zhouyi180

    5

    主题

    1021

    回帖

    1813

    积分

    藏宝阁VIP会员

    积分
    1813
    2019-8-26 17:57:53 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    1 小时前
  • 签到天数: 268 天

    连续签到: 1 天

    [LV.8]以坛为家I

    15

    主题

    518

    回帖

    278

    积分

    藏宝阁VIP会员

    积分
    278

    vip会员

    2019-8-27 11:21:50 | 显示全部楼层
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|小黑屋|教程论坛 | |网站地图

    GMT+8, 2024-11-29 23:33 , Processed in 0.119844 second(s), 12 queries , Redis On.

    Powered by Discuz! X3.5 Licensed

    © 2001-2024 Discuz! Team.

    快速回复