- Axios是一个基于promise的HTTP库,类似于jQuery的ajax,用于http请求。可以应用于浏览器端和node.js,既可以用于客户端,也可以用于node.js编写的服务端。由于工作中基本和axios打交道,所以想在重构axios的过程中对其内部的原理有更深的了解及复习一些设计模式。
将实现的核心模块
- 在浏览器端使用 XMLHttpRequest 对象通讯
- 支持 Promise API
- 支持请求和响应的拦截器
- 支持请求数据和响应数据的转换
- 支持请求的取消
- JSON 数据的自动转换
- 客户端防止 XSRF
初始化项目
创建代码仓库
基于github项目TypeScript library starter脚手架创建项目,其是一个开源的Typescript开发基础库的脚手架工具,避免我们必须从0开始搭建项目适配的框架及安装的第三方库