mock模拟接口测试 vue_vue+mock.js实现前后端分离
之前都是介绍在普通项目中使用mock.js,那么本次就来介绍一下在vue中使用mock.js实现前后端分离。
安装:
npm install mockjs
这里先写个小案例介绍一下具体使用,写法不规范,仅供参考。
然后案例讲完后我们讲具体的规范使用
那么一起来看看这个案例吧:
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();
}
}
首先引入了mock.js,然后定义了一个方法,用axios请求后台数据,在创建后调用此方法,然后我在创建后使用mock.js拦截请求,模拟数据(这里我模拟的是一个5位长度的users数组),只要mock的url地址和请求的地址相同,就会自动拦截请求。
我们打印了一下请求的结果response:
大家可以看到,和后端返回的数据格式一致,只是里面内容是我们自己模拟的,所以,只要提前和后端商量好数据格式,我们自己进行模拟数据,完成界面得渲染,等到后端写好数据接口,到时候只要把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、页面中使用:
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();
}
}
以此我们就完成了抽离mock.js,之后只要往mock的js文件中添加请求即可,后续只要等后端接口写好,把main.js中的引入mock.js注释(删除)即可。
还有一种更直接的方法,因为mock只是我们生产环境需要的东西,当我们发布上线肯定不需要这部分请求,都会换成实际请求地址和数据,所以直接把mock.js配置到生产环境,上线部署打包不打包这部分即可,就和vue中的代理部分,上线是不会打包这部分的一样。
感兴趣的童鞋可以自己去研究研究哈。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
时间: 2019-07-22
mock模拟接口测试 vue_vue+mock.js实现前后端分离相关推荐
- vue 新建的页面如何访问_Vue.js—实现前后端分离架构中前端页面搭建(四)(完)...
[Vue.js实现前后端分离架构中前端页面搭建] 二十.实现服务端登录业务 前提:已经有单机版Eureka,端口8761.启动开Eureka 1. 新建父项目 新建backend_parent. 为了 ...
- 图解基于 Node.js 实现前后端分离 - CSDN博客
因为会上出了个意外,ppt图片全部丢失,只好对着白板跟大家交流了半个多小时.由于我做演讲不喜欢写太多的文字,没有图片的情况下讲漏了一些内容.这篇文章是我在会上分享内容对照ppt进行地整理. 基本介绍 ...
- 图解基于node.js实现前后端分离
因为会上出了个意外,ppt图片全部丢失,只好对着白板跟大家交流了半个多小时.由于我做演讲不喜欢写太多的文字,没有图片的情况下讲漏了一些内容.这篇文章是我在会上分享内容对照ppt进行地整理. 基本介绍 ...
- Spring Boot + Vue.js 实现前后端分离(附源码)
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者: 梁小生0101 链接:juejin.im/post/5c6 ...
- ASP.NET Core 实战:使用ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目
一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自 ...
- Nginx+Vue.js+Tornado前后端分离架构环境实践(1)
基于Python构建前后端分离服务架构实践,其中Web服务为Nginx,前端采用VUE组件,后端Web服务采用Tornado,数据库使用文档型MongoDB,服务协议主要为restfull. 1. N ...
- 前后端分离跨服务器文件上传,SpringBoot+Vue.js实现前后端分离的文件上传功能
这篇文章需要一定vue和springboot的知识,分为两个项目,一个是前端vue项目,一个是后端springboot项目. 后端项目搭建 我使用的是springboot1.5.10+jdk8+ide ...
- mock模拟接口测试 vue_Easy Mock以及Vue+Mock.js模拟数据
Easy Mock以及Vue+Mock.js模拟数据 一.Mock.js简介 Mock.js是一个可以模拟后端数据,也可以模拟增删改查操作的js库 基础语法规范 数据模板中的每个属性由 3 部分构成: ...
- mock模拟接口测试 vue_VUE使用Mock模拟接口
之前用EASY-MOCK来模拟接口,但是这网站三天两头GG,太生气了~! 发现可以自己在项目里使用Mock,开始使用~ 安装VUE在这里不写了,先从安装Mock开始: 安装mockjs npm ins ...
最新文章
- python数字类型-Python Number(数字)
- Windows Server 2012系列之二安装AD及创建域
- sql对查询的一列结果进行去重
- java代码杨辉三角_用java实现杨辉三角的示例代码
- Leetcode--91. 解码方法
- 用jQuery实现简单的加入收藏页面的功能
- 微软认证学习资料大集合(软件+资料)
- 对于未来chrome80 samesite问题的兼容解决方案
- HttpClient Util 工具
- 2018春江苏省计算机等级考试,2018年春季江苏省计算机等级考试报名通知
- 【python 保存生成的图片 (plt;opencv;PIL)】
- python画实心圆_任意空实心圆形打印|Python练习系列[8]
- 快速入门STM32单片机-机械硬件篇
- yes we can
- 2020年wordpress主题开发视频教程、WP主题WP模板开发视频教程
- 位(bit)、字节(Byte)、MB(兆位)之间的换算关系
- MFC 根据圆心和半径画圆
- 前端jQuery的jQuery 插件库的插件(使用方法)
- 关于windows系统中txt文档的换行符\r\n
- java简单游戏制作教程,使用指南
热门文章
- HDU 1213 How Many Tables【并查集】
- mysql中datetime比较大小问题 (转的)
- 求二维数组的转置矩阵
- sql 查讯本日 本周 本月
- C++类中protected访问权限问题
- ubuntu12.04
- 程序的内存分配模式(堆栈以及静态存储区,文字常量区,代码区)
- 典型方法_裴礼文老师编数学分析中的典型问题与方法练习参考答案的说明
- 支持字典_手把手教你学Python之字典
- python网络爬虫系列(七)——selenium的介绍 selenium定位获取标签对象并提取数据 selenium的其它使用方法