axios源码解读系列之一 项目入口与项目整体结构

157 阅读1分钟

本系列基于axios@0.19.0 *本系列默认大家知道axios是做什么的,并且至少读过一遍axios的官方文档 1.目录结构

如图,从npm上下载最新的axios包(npm i axios) 2.

axios入口文件是项目根目录下的index.js,可以看到入口就是简单的引入了lib文件夹下的axios

可以看到axios.js定义了一个名叫createInstance的函数,它接收一个配置对象参数,这个函数的作用就是创建一个Axios类的实例。在创建了axios实例后,将Axios类挂载在axios实例的Axios属性上,同时也为实例挂载了create,Cancel,CancelToken,isCancel,all,spread等方法或属性,最后将实例暴露出来。

3.项目整体结构 在深入解读axios之前,我们先整体看一下项目的目录结构与文件构成 lib目录下core文件夹下包含了axios所有核心的模块,helpers目录下主要是一些辅助性功能模块,cancel目录下主要是一些取消某些操作时执行的模块,adaptor目录下包括了和http以及xhr相关操作的模块。 根目录下的default.js主要是生产createInstance时传入的默认配置项,utils.js主要是一些工具方法