1. 首页

vue-cli 里基于 axios 封装复用请求

写在前面:

自从Vue2.0推荐大家使用 axios 开始,axios 被越来越多的人所了解。使用axios发起一个请求对大家来说是比较简单的事情,但是axios没有进行封装复用,项目越来越大,引起的代码冗余。就会非常麻烦的一件事。所以本文会详细的跟大家介绍,如何封装请求,并且在项目组件中复用请求。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。

安装

只用安装一个axios就可以了。


npm install axios --save

接口代理设置

为了请求可以正常发送,我们一般要进行一个接口代理的配置,这样可以避免请求跨域,项目打包之后,后端一般也要搭建一个nginx之类的东西进行转发请求,不然请求会因为跨域问题失败的。

JS中文网 – 前端进阶资源教程 www.javascriptC.com
一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容


//文件位置:config/index.js proxyTable: { '/api': { target: 'http://47.95.xxx.246:8080', // 通过本地服务器将你的请求转发到这个地址 changeOrigin: true, // 设置这个参数可以避免跨域 pathRewrite: { '/api': '/' } }, },

vue-cli 里基于 axios 封装复用请求

设置好了之后,当你在项目中要调用http://47.95.xxx.246:8080这个服务器里面的接口,可以直接用/api代替服务器地址。

发起请求

main.js入口文件中:


import axios from 'axios';//引入文件 Vue.prototype.$http = axios;//将axios挂载到Vue实例中的$ajax上面,在项目中的任何位置通过this.$http使用

没有封装发起请求:


//没有封装的时候,在组件中发起请求的方式: this.$ajax({ url:'/api/articles',//api 代理到json文件地址,后面的后缀是文件中的对象或者是数组 method:'get',//请求方式 //这里可以添加axios文档中的各种配置 }).then(function (res) { console.log(res,'成功'); }).catch(function (err) { console.log(err,'错误'); }) //还可以像下面这么简写 this.$ajax.get('api/publishContent').then((res) => { console.log(res,'请求成功') },(err)=>{ console.log(err,'请求失败'); });

封装请求

封装的时候,我通常喜欢把请求抽象成三个文件,文件位置放在src中,只要你能引用到,就没问题,如下图所示:

vue-cli 里基于 axios 封装复用请求

创建三个.js文件,里面我都很认真的注释了,我就直接贴图片了,在文末我把这三个文件的地址发出来,需要的小伙伴自取。

fetch.js:

vue-cli 里基于 axios 封装复用请求

url.js:

vue-cli 里基于 axios 封装复用请求

api.js

vue-cli 里基于 axios 封装复用请求

在组件里面如何使用接口:

vue-cli 里基于 axios 封装复用请求

封装axios文件地址在这里:[传送门][2]

代码注释什么的,已经蛮多了,跟着文章一步一步走,实现封装axios请求,没毛病的。本文并没有把很多功能都完整的列出来,主要是追求一个上手,剩下的东西,各位小伙伴们可以自行研究。

作者:OBKoro1
链接:https://juejin.im/user/58714f0eb123b4a2eb95372/posts

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文来源于网络,其版权属原作者所有,如有侵权,请与小编联系,谢谢!

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:vue-cli 里基于 axios 封装复用请求

链接:https://www.javascriptc.com/2376.html

原文链接:

« vue-cli脚手架-详细步骤图文解析之入门
Web全屏模式轻松掌握[局部元素全屏展示]»
Flutter 中文教程资源

相关推荐

QR code