vue项目中axios的封装

如果axios不是插件可以写成下面这样的形式

import axios from 'axios'
Vue.prototype.$http = axios

原理就是通过prototype给Vue实例增加一个方法,这样axios就是Vue实例下的一个方法了,使用时我们就可以this. h t t p 来 使 用 了 ( http来使用了( http使(http是自定义的方法,名字可以随便取)

但是在vue项目中我们想要像使用element,router等插件一样进行导入和使用时会发现,axios不是一个插件,不能通过Vue.use(axios)使用

解决办法我们可以通过vue官网上提供的开发插件方法对axios来进行封装:

  1. vue官网提供的开发插件方法
  2. 图中第4个方法正正是我们想要的,给实例添加一个方法 ,在这里插入图片描述 1,此时我们新建一个文件专门写开发插件功能的,
    2,载入代码,缺什么补什么,给MyPlugin添加一个对象,MyPlugin可命名成我们想要的名字
    3,统一风格,把install方法改写成箭头函数,参数Vue必选项,其他参数可写可不写
    4,添加实例方法,引入axios,import axios from 'axios'
    5 export default MyHttpServer导出
    6,在main.js中引入MyHttpServer插件
import MyHttpServer from '@/components/plugins/https.js' // 导入封装的axios

7,通过

Vue.use(MyHttpServer) // 使用MyHttpServer插件
封装完整代码如下;
// axios插件模块
import axios from 'axios'
const MyHttpServer = {}
MyHttpServer.install = function (Vue) {
  axios.defaults.baseURL = 'http://localhost:8888/api/private/v1/'
  // 4. 添加实例方法
  Vue.prototype.$http = axios
}
export default MyHttpServer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值