如何在TypeScript

时间:2017-08-08 19:36:26

标签: javascript typescript dependency-injection axios

我试图创建一个接受axios实例的可选参数的函数。我使用AxiosInstance尝试了以下操作但是当webpack尝试转换TypeScript时会抛出此错误:TS2304: Cannot find name 'AxiosInstance'

当我直接导入类型声明时,它有点工作:

import { AxiosInstance } from "../../node_modules/axios/index.d";

但这感觉就像一个非常难看的解决方案。有更好的方法吗?

示例:

import axios from "axios";

export const loadFromAPI = (
    url: string, 
    param: string, 
    id: number, 
    axiosInstance: AxiosInstance = axios.create({baseURL: url})
): Promise<any> => {
   return new Promise( (resolve: (res: any) => void, reject: (err: any) => void) => { 
    /* ... */
  });
};

请参阅:Axios Type Definitions

1 个答案:

答案 0 :(得分:0)

这是因为您没有导入 AxiosInstance 接口。

import axios, { AxiosInstance } from "axios";

...