一.为什么要封装axios请求
在实际开发中基本上都是以前后端分离为主,在后台交互获取数据这块,通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御CSRF等
二.安装axios
1 | npm install axios; |
一般我会在项目的src目录中,新建一个request文件夹,然后在里面新建一个request.js和一个api.js文件。request.js文件用来封装我们的axios,api.js用来统一管理我们的接口。
在request.js中引入axios
1 | import Vue from 'vue' |
三.环境的切换
我们的项目环境可能有开发环境、测试环境和生产环境。我们通过node的环境变量来匹配我们的默认的接口url前缀。
axios.defaults.baseURL可以设置axios的默认请求地址就不多说了
1 | let _getWholeUrl = (action, base) => { |
四.封装get,post,delete,put等方法
1 | /** |
五.导出当前封装的请求
1 | export default { |
六:在request下新建index.js,api.js
request/index.js
1 | /** |
request/api.js
1 | export default { |
七:在main.js中引入挂载到vue实例中
1 | import Vue from 'vue' |
八:在项目中使用
1 | this.$request.post(api => api.index.index, { |