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


Posted in Javascript onJuly 24, 2019

之前都是介绍在普通项目中使用mock.js,那么本次就来介绍一下在vue中使用mock.js实现前后端分离。

安装:

npm install mockjs

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

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

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

<script>
 import Mock from "mockjs"
 export default {
  name: "FunctionsDbSource",
  methods:{
   // 接口测试
   init(){
    // 请求后端数据,查询数据源
    this.axios({
     method: "get",
     url:`${this.baseURL}/GetAll`,
     headers: {
      Account: "Admin",
      Password:"888888"
     }
    })
    .then((response)=> {
     console.log(response);
    })
    .catch((error)=> {
     console.log(error);
    });
   }
  },
  created(){
   Mock.mock(`${this.baseURL}/GetAll`, {
    'users|5': [ {
     'name': '@cname', //中文名称
     'age|1-100': 100, //100以内随机整数
     'birthday': '@date("yyyy-MM-dd")', //日期
     'city': '@city(true)' //中国城市
    }]
   });
   this.init();
  }
 }
</script>

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

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

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

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

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

1、安装:

npm install mockjs

2、手动新建mock.js文件(当然新建文件夹把它抽离出来也是可以的)

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

import Mock from 'mockjs' // 引入mockjs
 
let data = 'users|5': [ {
   'name': '@cname', //中文名称
   'age|1-100': 100, //100以内随机整数
   'birthday': '@date("yyyy-MM-dd")', //日期
   'city': '@city(true)' //中国城市
  }]
 
Mock.mock('/data/index', 'get', data) // 根据数据模板生成模拟数据

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

// 引入mock
require('./mock.js');

4、页面中使用:

<script>
 import Mock from "mockjs"
 export default {
  name: "FunctionsDbSource",
  methods:{
   // 接口测试
   init(){
    // 请求后端数据,查询数据源
    this.axios({
     method: "get",
     url:"data/index",
    })
    .then((response)=> {
     console.log(response);
    })
    .catch((error)=> {
     console.log(error);
    });
   }
  },
  created(){
   this.init();
  }
 }
</script>

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

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

感兴趣的童鞋可以自己去研究研究哈。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
13个绚丽的Jquery 界面设计网站推荐
Sep 28 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 Javascript
Ext GridPanel加载完数据后进行操作示例代码
Jun 17 Javascript
JavaScript立即执行函数的三种不同写法
Sep 05 Javascript
JavaScript简介
Feb 15 Javascript
jquery插件Jplayer使用方法简析
Apr 22 Javascript
ES5 ES6中Array对象去除重复项的方法总结
Apr 27 Javascript
[js高手之路]单例模式实现模态框的示例
Sep 01 Javascript
浅谈vue中数据双向绑定的实现原理
Sep 14 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
微信小程序返回上一级页面的实现代码
Jun 19 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
Jul 24 #Javascript
Vue封装的组件全局注册并引用
Jul 24 #Javascript
vue子路由跳转实现tab选项卡
Jul 24 #Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
Jul 24 #Javascript
Vue.js路由实现选项卡简单实例
Jul 24 #Javascript
vue滚动tab跟随切换效果
Jun 29 #Javascript
Vue.js实现tab切换效果
Jul 24 #Javascript
You might like
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
深入浅析vue组件间事件传递
2017/12/29 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
python写的一个squid访问日志分析的小程序
2014/09/17 Python
跟老齐学Python之做一个小游戏
2014/09/28 Python
python3简单实现微信爬虫
2015/04/09 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
python实现数据清洗(缺失值与异常值处理)
2019/12/02 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
个人优缺点自我评价
2014/01/27 职场文书
村干部培训班主持词
2014/03/28 职场文书
党校学习心得体会范文
2014/09/09 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
清洁工岗位职责
2015/02/13 职场文书
2015年调度员工作总结
2015/04/30 职场文书
会议主持词开场白
2015/05/28 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书