vue + mock.js实现前后端分离的方法

  介绍

小编给大家分享一下vue + mock.js实现前后端分离的方法,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

在vue中使用模拟。js实现前后端分离。

安装:

npm  install  mockjs

这里先写个小案例介绍一下具体使用,写法不规范,仅供参考。

然后案例讲完后我们讲具体的规范使用

那么一起来看看这个案例吧:

& lt; script>   ,import  Mock 得到“mockjs"   ,export  default  {   ,,名字:“FunctionsDbSource",   方法:{才能//,,,接口测试   ,,init () {   ,,,//,请求后端数据,查询数据源   ,,,this.axios ({   ,,,,方法:,“get",   ,,,,url:“$ {this.baseURL}/GetAll”,   ,,,,头:,{   ,,,,,:,“Admin",   ,,,,,密码:“888888”;   ,,,,}   ,,,})   ,,,不要犹豫((响应)=祝辞,{   ,,,,console.log(响应);   ,,,})   ,,,.catch((错误)=祝辞,{   ,,,,console.log(错误);   ,,,});   ,,}   ,,},   创造的才能(){   ,,Mock.mock (" $ {this.baseURL}/GetAll ", {   ,,,& # 39;用户| 5 & # 39;:,[,{   ,,,,& # 39;名字# 39;:,& # 39;@cname& # 39;,,//中文名称   ,,,,& # 39;年龄| 1 - 100 - & # 39;:100年,100年,,//以内随机整数   ,,,,& # 39;生日# 39;:,& # 39;@date (“yyyy-MM-dd") & # 39;,,//日期   ,,,,& # 39;城市# 39;:,& # 39;@city(真正的)& # 39;,//中国城市   ,,,}]   ,,});   ,,this.init ();   ,,}   ,}   & lt;/script>

首先引入了mock.js,然后定义了一个方法,用axios请求后台数据,在创建后调用此方法,然后我在创建后使用模拟。js拦截请求,模拟数据(这里我模拟的是一个5位长度的用户数组),只要模拟的url地址和请求的地址相同,就会自动拦截请求。

我们打印了一下请求的结果回应:

 vue +模拟。js实现前后端分离的方法

大家可以看的到,和后端返回的数据格式一致,只是里面内容是我们自己模拟的,所以,只要提前和后端商量好数据格式,我们自己进行模拟数据,完成界面得渲染,等到后端写好数据接口,到时候只要把模拟部分删除,就是我们自己想要的结果了。

但是每个请求都这样在vue页面中去写模拟,后期删除起来也不方便,可维护性低,高耦合,所以我们这里就涉及到规范的写法。

1,安装:

npm  install  mockjs

2,手动新建模拟。js文件(当然新建文件夹把它抽离出来也是可以的)

内容如下(根据实际需求更改):

import  Mock 得到& # 39;mockjs& # 39;,//,引入mockjs   ,   let  data =, & # 39;用户| 5 & # 39;:,[,{   ,,& # 39;名字# 39;:,& # 39;@cname& # 39;,,//中文名称   ,,& # 39;年龄| 1 - 100 - & # 39;:100年,100年,,//以内随机整数   ,,& # 39;生日# 39;:,& # 39;@date (“yyyy-MM-dd") & # 39;,,//日期   ,,& # 39;城市# 39;:,& # 39;@city(真正的)& # 39;,//中国城市   })才能   ,   Mock.mock(& # 39;/数据/指数# 39;,,& # 39;得到# 39;,,数据),//,根据数据模板生成模拟数据

3, main.js中引入(注意自己js文件的路径)

//,引入模拟   要求(& # 39;。/mock.js& # 39;);

4页面中使用:

& lt; script>   ,import  Mock 得到“mockjs"   ,export  default  {   ,,名字:“FunctionsDbSource",   方法:{才能//,,,接口测试   ,,init () {   ,,,//,请求后端数据,查询数据源   ,,,this.axios ({   ,,,,方法:,“get",   ,,,,url:“数据/index"   ,,,})   ,,,不要犹豫((响应)=祝辞,{   ,,,,console.log(响应);   ,,,})   ,,,.catch((错误)=祝辞,{   ,,,,console.log(错误);   ,,,});   ,,}   ,,},   创造的才能(){   ,,this.init ();   ,,}   ,}   & lt;/script>

以此我们就完成了抽离mock.js,之后只要往模拟的js文件中添加请求即可,后续只要等后端接口写好,把main.js中的引入mock.js注释(删除)即可。

还有一种更直接的方法,因为模拟只是我们生产环境需要的东西,当我们发布上线肯定不需要这部分请求,都会换成实际请求地址和数据,所以直接把模拟。js配置到生产环境,上线部署打包不打包这部分即可,就和vue中的代理部分,上线是不会打包这部分的一样。

看完了这篇文章,相信你对“vue + mock.js实现前后端分离的方法”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

vue + mock.js实现前后端分离的方法