vue全家桶 ---axios的使用和二次封装
1、前提基础
- 本文在vue项目搭建的基础上,vue-router路由配置的基础上,对vue项目中axios的使用进行介绍。
2、axios的使用以及拦截器的设置。
- 安装axios
cnpm i axios -S
复制代码
- 新建http文件夹,新建index.js,config.js文件
- 在config.js对axios进行二次封装,进行请求拦截(主要用于配置token和请求数据类型)和响应拦截(主要用于http状态码和后端自定义的code码进行全局处理)。
- 在index.js文件中导入config.js,并挂载在vue原型链上(也可挂载在vue的实例对象上,采用按需引用的方式可跳过)。
- 在main.js中引入配置,如果所示:
- 点击按钮获取菜单数据,这里使用express启动服务,封装菜单api接口来模拟实际场景。
- 点击按钮,效果如图所示。
3、api集中管理与按需引用。
- 对api的集中管理和按需引用有助于项目管理和重构,减轻vue实例的负担,优化项目性能。
- 之前我们使用是直接把封装好的axios直接挂载在vue的vue原型链上,然后在组件中通过this.$axios.get()的方式来使用,现在我们稍微修改下。
- 从main.js中删除require('./http'),修改http下index.js文件,修改home.vue中的接口引用。如图所示:
- 现在我们回到页面发现效果和原来一样。
4、总结
- 对axios的二次封装可以统一前后端交互的请求/响应数据类型,统一处理http错误码和自定义的code,避免在组件中频繁的判断,以及code码的使用混乱。
- 对api的集中管理和按需引用有助于项目管理和重构,代码的复用,实际项目开发时可以按模块对api进行划分,结构清晰。
vue全家桶 ---axios的使用和二次封装相关推荐
- vue音乐笔记_基于vue全家桶的移动端音乐web app
项目描述 这是一个基于 Vue2.x 和网易云音乐 API制作的移动端 web app 项目:由于是出于练习和实验的目的,因此并非是网易云音乐 app 的替代品,目前也没有涵盖全部的功能: 该项目主要 ...
- Vue开发入门(二) | 说说Vue全家桶有哪些~
全家桶,顾名思义,就是一个系列,可以组合开发成完整强大的Vue项目 前言: *Vue两大核心思想:组件化和数据驱动. 组件化:把整体拆分为各个可以复用的个体 数据驱动:通过数据变化直接影响bom展示, ...
- Vue 全家桶 + Electron 开发的一个跨三端的应用
GitHub Repo:vue-objccn Follow: halfrost · GitHub 项目地址:https://github.com/halfrost/vue-objccn 利用 Vue. ...
- Vue全家桶 + webpack 构建单页应用初体验
文章指南 主题 承接这上一篇Vue + Webpack 构建模块化开发框架详解,我们知道了如何使用webpack对vue进行打包,从而开始我们的前端模块化开发之路,这一篇在上一篇的基础上讲解 Vu ...
- Vue 全家桶 + Electron 开发的一个跨三端的应用 1
代码地址如下: http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...
- 【 Vue全家桶 · Vue CLI(四)】Vue项目的详细目录结构解析
文章目录 前言 -- 一级目录解析 一. dist 二. node_modules 三. public 四. src(基础版) 4.1 main.js 4.2 App.vue 4.3 src / as ...
- 使用Vue-cli从零开始搭建Vue全家桶(仿b站客户端)项目(1.环境配置、实现登录功能)
1.前言 技术栈:Vue全家桶+Element.ui组件库+Axios 功能:具有登录.配置个人信息.修改个人头像.发布评论.发布动态等功能 话不多说,先看成品动图,也可点击此链接进行 ...
- 从头到尾创建一个vue全家桶项目
一.vue全家桶有哪些 全家桶:vue, vue-router, vuex, axios, elementui vue-router: 路由 vuex: vue状态机 axios: 网络请求工具 el ...
- Vue全家桶有哪些?(详细)
vue全家桶都有什么 全家桶,顾名思义,对于开发一个完整的中大型单页面应用项目所必须的所必须的插件和框架. 注:此文章主要讲解vue-cli脚手架开发方式,主要介绍各插件安装方法及其功能特点,不介绍各 ...
最新文章
- 【网站汇总】单片机常用通讯协议
- Java中import及package的用法
- rtop – 通过SSH监控远程主机
- POJ1042 Gone Fishing
- 推荐几个图标显示控件
- 提升图像对比度和亮度
- [idea] - 项目启动报错Process finished with exit code 1
- StringStringBuilder的使用
- express url跳转(重定向)的实现:res.location() res.redirect()
- 快速理解HTTP协议
- 新版淘宝宽屏轮播代码带缩略图
- mysql 多表查询 like_MYSQL多表联合查询的问题
- udp洪水攻击java_Linux网络编程--洪水攻击详解
- 多种方式带你玩转 javascript 实现关闭浏览器页签
- bzoj2005 NOI2010 方案统计
- NAND FLASH 内存详解与读写寻址方式
- C语言程序设计作业04
- 小米智能插座、小米温湿度计2、涂鸦灯泡 接入Home Assistant
- x-studio(Lua调试器,粒子编辑器,UI编辑器,代码编辑器,csb恢复工具)
- Wilcoxon rank-sum 和 signed-rank
热门文章
- 2021年全球十大工程成就,中国有几个? | 科技袁人
- 周鸿祎:过去只能在虚拟世界里发起的网络攻击,现在都可以通过物联网直达生产一线...
- 腾讯首次发布 AI 白皮书讲了什么?
- 边缘数据中心维护的4个基本组件
- 腾讯和头条,构建类脑神经元网络的两条路线之争
- 年度最理性 AI 分析文章:预测 AI 未来,大部分人陷入了 7 大误区
- 教你怎么卷过别人 | 每日趣闻
- CSS2020聚焦新基建 腾讯发布云原生安全体系 助力客户备战云上“主战场”
- [解题报告] The Collatz Sequence
- P1494 小Z的袜子