问题描述

在使用  typescript  编写  Vue 时无法识别 axios 的类型。在指定类型声明文件后依然无效。

1
2
3
4
5
6
7
8
9
10
11
12
import { AxiosInstance } from "axios";

declare module "Vue/types/vue" {
interface Vue {
$axios: AxiosInstance;
}
}
// 在原型链上挂载
Vue.prototype.$axios = axios;

// 无法识别类型
this.$axios;

解决方案

安装 vue-axios 插件。

1
2
3
4
5
import axios from "axios";
import VueAxios from "vue-axios";
Vue.use(VueAxios, axios);
// 消除报错
this.axios;

评论