Axios三层封装
在实际项目中axios都是要经过封装再使用的,企业级项目一般都是三层封装
1. 工具函数层
对axios工具进行增强,如:设置公共的请求服务器、设置请求拦截器、设置响应拦截器…
- 创建一个文件夹utils,用来放axios。
- 创建文件,随便取名,这里我取request.js
- 引入
| import axios from "axios"; |
- 设置公共服务器路径
| axios.defaults.baseURL = 'https://api.example.com'; |
- 暴露改造过后的axios
2. 接口函数层
对项目所有的接口进行封装,项目接口有任何的改动只需要改这样一层就可以了。
- 创建一个文件夹,比如api。里面分模块创建不同api接口,方便管理。
- 不同模块就要使用不同的api,所以要根据需要决定封装多少个模块
- 比如登录是一个模块,就用login.js,获取用户信息是一个,用userInfor.js
| |
| import axios from '@/utils/request.js' |
| |
| export const checkLogin = (data) => { |
| |
| return axios({ |
| method: 'post', |
| url: '/users/checkLogin', |
| data, |
| }); |
| } |
3. 应用层
在实际项目页面中使用接口函数。
- 引入
因为上面是普通暴露
,所以必须要解构
出来
| |
| import { checkLogin } from "@/api/user.js"; |
- 使用checkLogin要传入参数。
| |
| jump() { |
| |
| this.$refs.form.validate(async valid => { |
| if (valid) { |
| |
| let res = await checkLogin(this.form); |
| console.log(res); |
| } else { |
| return false; |
| } |
| }); |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南