globalProperties

这是vue3 的一个独有属性,那么我们可以由此延伸一下, 我们做插件开发,如何判断当前是vue2还是vue3

  1. const isVue3 = (app: Vue2 | App): app is App =>
  2. 'config' in app && 'globalProperties' in app.config

基本上每个项目的技术栈都会使用三方的ajax的库: axios, flyio, fetch
大同小异,简单的一批!

以axios为例子

  1. //配置请求数据
  2. import {AxiosInstance } from "axios";
  3. import Axios from "axios";
  4. //全局配置Axios
  5. declare module '@vue/runtime-core' {
  6. interface ComponentCustomProperties {
  7. $axios: AxiosInstance;
  8. }
  9. }
  10. app.config.globalProperties.$axios=Axios; //this.Axios