# axios 挂载到 vue

# 1. 挂载

src/common/http/http.ts:

import Vue from 'vue';
import axios from 'axios';

Vue.prototype.$http = axios;

# 2. 类型声明文件

src/common/http/http.d.ts:

/**
 * Extends interfaces in Vue.js
 */

import Vue, { ComponentOptions } from "vue";
import axios from 'axios';

declare module "vue/types/options" {
  interface ComponentOptions<V extends Vue> {
    $http?: typeof axios;
  }
}

declare module "vue/types/vue" {
  interface Vue {
    $http: typeof axios;
  }
}

src/global.d.ts:

import './common/http/http.d'
本章目录