项目刚开始的时候 axios的引入在 main.js中,然后通过Vue.prototype.$ajax = axios;
将axios挂到实例上,在各个文件中调用 this.$ajax
来发送请求;
现在项目越来越大,好多接口是通用的,在各个文件中的方法不能通用,所以请问怎么样将所有的接口统一管理,在各个文件中可以按照需要引入? 谢谢大家?
项目刚开始的时候 axios的引入在 main.js中,然后通过Vue.prototype.$ajax = axios;
将axios挂到实例上,在各个文件中调用 this.$ajax
来发送请求;
现在项目越来越大,好多接口是通用的,在各个文件中的方法不能通用,所以请问怎么样将所有的接口统一管理,在各个文件中可以按照需要引入? 谢谢大家?
6 回答2.9k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
4 回答2.6k 阅读
2 回答976 阅读✓ 已解决
我们公司的实践是分层的,类似mvc,不会做挂载,我们分为:
网络工具层:封装了
axios
的基本网络操作只封装了网络的操作,比如公共头部之类的东西,
模型层,封装了数据请求和网络工具层
对每个模块和接口封装
视图层
栗子
Http.js
UserModel
视图层
上面的栗子,完全感受不到调用了
axios
,除了await
关键词,也完全不知道我们调用了api
好处
axios
也没关系,就算我突然换了其他网络框架,只要保持接口一致,对上层也不影响,测试方便js
,可以独立运行和测试,和视图层解耦,无论你用什么视图框架,也不影响,配合await
、async
可以做到像调用本地方法一样调用api
,一个字爽
!模型层划分
一般可以根据
RESTFul
划分,就可以做到按需引入,不能太大,也没必要太小ArticleModel
:源码