返回

系统项目中的axios封装最优策略<#

前端

<#title>系统项目中的axios封装最优策略<#/title>

大家好!我又好久没有写文章了,最近比较有空,又想输出一些东西了,由于我在公司日常的业务都是写一些系统什么的,但是之前的前端留下来的项目里面的axios封装都不够通用,每次新的项目或者需要修改的时候都得写一遍,比较麻烦。

既然这样,那我就写一个比较好用的通用方法,到时候用起来就可以直接引用了,这个文章简单说说。

axios封装的方法无非就是几个参数配置而已,以下我列出了几个参数并用默认值填上,大家可以根据自己的需求来自行配置。

  method?: Method;
  baseURL?: string;
  transformRequest?: AxiosTransformer | AxiosTransformer[];
  transformResponse?: AxiosTransformer | AxiosTransformer[];
  headers?: AxiosRequestHeaders;
  params?: any;
  paramsSerializer?: (params: any) => string;
  data?: any;
  timeout?: number;
  withCredentials?: boolean;
  adapter?: AxiosAdapter;
  auth?: AxiosBasicCredentials;
  responseType?: ResponseType;
  responseEncoding?: string;
  xsrfCookieName?: string;
  xsrfHeaderName?: string;
  onUploadProgress?: (progressEvent: any) => void;
  onDownloadProgress?: (progressEvent: any) => void;
  maxContentLength?: number;
  validateStatus?: (status: number) => boolean;
  maxRedirects?: number;
  socketPath?: string;
  httpAgent?: any;
  httpsAgent?: any;
  proxy?: AxiosProxyConfig;
  cancelToken?: CancelToken;
  decompress?: boolean;
};

为了方便查看具体的代码,您可以点击以下链接跳转到GitHub地址:

GitHub地址

以上就是我对系统项目中axios封装的一些浅显看法,希望对您有所帮助。

最后,感谢您的阅读!