源码目录

axios 版本1.5.0
lib
├── README.md
├── adapters                                             // 定义请求适配器 xhr、http
│         ├── README.md
│         ├── adapters.js                                                             
│         ├── http.js                                    // node端对http、https原生模块的封装                  
│         └── xhr.js                                     // 浏览器端对xhr的封装
├── axios.js                                             // Axios类的入口文件,创建Axios实例,包含请求/响应拦截器的添加等功能
├── cancel
│         ├── CancelToken.js                             // 实现取消请求的CancelToken        
│         ├── CanceledError.js                           // 取消请求的Error类
│         └── isCancel.js                                // 判断是否取消请求引起的错误
├── core
│         ├── Axios.js                                   // Axios的核心类
│         ├── AxiosError.js                              // 请求错误的类   
│         ├── AxiosHeaders.js                            // 用于表示HTTP请求头的类
│         ├── InterceptorManager.js                      // 拦截器管理器
│         ├── README.md
│         ├── buildFullPath.js                           // 构建完整URL
│         ├── dispatchRequest.js                         // dispatch请求的实现
│         ├── mergeConfig.js                             // 合并配置
│         ├── settle.js                                  // 处理请求的响应
│         └── transformData.js                           // 转换请求/响应数据
├── defaults                                             // 默认配置
│         ├── index.js                                    
│         └── transitional.js                            
├── env                                                  // 包版本信息
│         ├── README.md
│         ├── classes
│         │         └── FormData.js
│         └── data.js
├── helpers                                              // 一些工具函数,例如isURLSameOrigin判断URL是否同源,flatten将多维数组扁平化等。
│         ├── AxiosTransformStream.js                    // 用于数据转换的类
│         ├── AxiosURLSearchParams.js                    // 用于生成和解析URL查询字符串(query string)的工具类
│         ├── HttpStatusCode.js                          // 定义了一组可读性更好的 HTTP 状态码常量
│         ├── README.md
│         ├── ZlibHeaderTransformStream.js               // 处理压缩响应的类
│         ├── bind.js                                    // 生成函数绑定指定上下文
│         ├── buildURL.js                                // 构建请求URL
│         ├── callbackify.js                             // 将Promise异步函数转换成遵循错误优先的回调风格函数
│         ├── combineURLs.js                             // 组合/格式化URL
│         ├── cookies.js                                 // 浏览器cookie操作
│         ├── deprecatedMethod.js                        // 标记已废弃方法的工具函数
│         ├── formDataToJSON.js                          // 将 FormData 对象转换为 JSON 对象
│         ├── formDataToStream.js                        // 将 FormData 对象转换为 Node.js 中的 Readable Stream
│         ├── fromDataURI.js                             // 将 Data URI 转换为 ArrayBuffer
│         ├── isAbsoluteURL.js                           // 判断是否为绝对URL
│         ├── isAxiosError.js                            // 判断是否是Axios错误
│         ├── isURLSameOrigin.js                         // 判断URL是否同源
│         ├── null.js                                    // 导出 null
│         ├── parseHeaders.js                            // 解析响应header字符串
│         ├── parseProtocol.js                           // 解析 URL 中协议部分
│         ├── readBlob.js                                // 用于读取Blob对象内容的函数
│         ├── speedometer.js                             // 用于测量请求耗时的一个工具函数
│         ├── spread.js                                  // 用于调用函数和扩展参数数组的语法糖
│         ├── throttle.js                                // 用于函数节流技术的实现
│         ├── toFormData.js                              // 用于将 JavaScript 对象转换为 FormData 对象
│         ├── toURLEncodedForm.js                        // 用于将 JavaScript 对象序列化为 URL Encoded 格式的 Form 表单数据
│         └── validator.js                               // 用于验证请求配置选项是否合法
├── platform                                             // 用于检测运行环境和平台信息
│         ├── browser                                    
│         │         ├── classes
│         │         │         ├── Blob.js
│         │         │         ├── FormData.js
│         │         │         └── URLSearchParams.js
│         │         └── index.js
│         ├── index.js
│         └── node
│             ├── classes
│             │         ├── FormData.js
│             │         └── URLSearchParams.js
│             └── index.js
└── utils.js                                             // 工具函数