axios接口统一管理怎么实践?
项目刚开始的时候 axios的引入在 main.js中,然后通过Vue.prototype.$ajax = axios;
将axios挂到实例上,在各个文件中调用 this.$ajax
来发送请求;
现在项目越来越大,好多接口是通用的,在各个文件中的方法不能通用,所以请问怎么样将所有的接口统一管理,在各个文件中可以按照需要引入? 谢谢大家?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我的做法是直接将接口封装为一个类,实例化之后再挂载到vue上.通用的方法就写道类中.
目前我的做法是这样的~ 每个模块单独提一个js出来 按需导入就行了~
我们公司的实践是分层的,类似mvc,不会做挂载,我们分为:
网络工具层:封装了
axios
的基本网络操作只封装了网络的操作,比如公共头部之类的东西,
模型层,封装了数据请求和网络工具层
对每个模块和接口封装
视图层
栗子
Http.js
UserModel
视图层
上面的栗子,完全感受不到调用了
axios
,除了await
关键词,也完全不知道我们调用了api
好处
axios
也没关系,就算我突然换了其他网络框架,只要保持接口一致,对上层也不影响,测试方便js
,可以独立运行和测试,和视图层解耦,无论你用什么视图框架,也不影响,配合await
、async
可以做到像调用本地方法一样调用api
,一个字爽
!模型层划分
一般可以根据
RESTFul
划分,就可以做到按需引入,不能太大,也没必要太小ArticleModel
:源码