基于 TypeScript重构Axios

86 阅读1分钟
  • Axios是一个基于promise的HTTP库,类似于jQuery的ajax,用于http请求。可以应用于浏览器端和node.js,既可以用于客户端,也可以用于node.js编写的服务端。由于工作中基本和axios打交道,所以想在重构axios的过程中对其内部的原理有更深的了解及复习一些设计模式。

将实现的核心模块

  • 在浏览器端使用 XMLHttpRequest 对象通讯
  • 支持 Promise API
  • 支持请求和响应的拦截器
  • 支持请求数据和响应数据的转换
  • 支持请求的取消
  • JSON 数据的自动转换
  • 客户端防止 XSRF

初始化项目

创建代码仓库

基于github项目TypeScript library starter脚手架创建项目,其是一个开源的Typescript开发基础库的脚手架工具,避免我们必须从0开始搭建项目适配的框架及安装的第三方库

下载方式

code.png

TypeScript library starter脚手架目录文件

code1.png

至此项目脚手架就搞定了,接下来开始实现ts-axios基本功能