TypeScript校验类型额外增加自定义属性

566 阅读1分钟

在使用axios的过程中可能要对原有的接口进行扩展,比如在原有的axios中的index.d.ts文件中会进行ts的校验,如果要在config中使用一个未定义过的customError参数会出现报错提示 - 在AxiosRequestConfig上不存在customError参数. 那么在项目构建npm run build时会产生报错

image.png

image.png

此时我们应该在全局对AxiosRequestConfig进行扩展

src下新建axios-config.d.ts文件

import { AxiosRequestConfig } from 'axios';

// 在全局声明文件中扩展 AxiosRequestConfig 接口
declare module 'axios' {
  interface AxiosRequestConfig {
    customError?: string;
  }
}