mock.js 的介绍与使用

mock.js 的介绍与使用,第1张

Mock.js (官网地址:http://mockjs.com/)是一款模拟数据生成器,旨在帮助前端工程师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:

1,根据数据模板生成模拟数据

2,模拟 Ajax 请求,生成并返回模拟数据

3,基于 HTML 模板生成模拟数据

1.安装mock

2.在src下新建一个mock文件 引入mock.js

3.在页面中发送请求

4.在mock文件夹下的index.js中设置mock数据,并拦截请求,将假数据传入页面

1.属性值是字符串

'name|min-max': string

通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。

'name|count': string

通过重复 string 生成一个字符串,重复次数等于 count。

2.属性值是数字

name|+1': number

属性值自动加 1,初始值为 number。

’name|min-max': number

生成一个大于等于 min、小于等于 max 的整数,属性值 number 只是用来确定类型。

'name|min-max.dmin-dmax': number

生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmin 到 dmax 位。

3.属性值是布尔类型

'name|1': boolean

随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。

4.属性值是数组

'name|1': array

从属性值 array 中随机选取 1 个元素,作为最终值。

'name|+1': array

从属性值 array 中顺序选取 1 个元素,作为最终值。

'name|min-max': array

通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max。

'name|count': array

通过重复属性值 array 生成一个新数组,重复次数为 count。

前后端分离开发的时候,前端和后端是并行开发的,前端往往刚开始不能拿到测试的数据,都需要自己写测试数据。 编写测试数据还是比较浪费时间的,虽然简单,但是都是体力活。

那么是否有工具可以帮我们生成数据,生成API接口,让前端能够爽爽的开发。

Mock.js 正是这样一款类库,可以帮我们模拟生成一堆数据。

引入引入mock.js的包,然后生成数据。

生成的数据(数据的个数,1-10个中随机个数)

配置模拟数据

发送Ajax请求:

返回数据:

注意:

属性名 和 生成规则 之间用 | 分隔。生成规则 是可选的。生成规则 有 7 种格式:

生成规则 的 含义 需要依赖 属性值 才能确定。

属性值 中可以含有 @占位符。

属性值 还指定了最终值的初始值和类型。

Mock.js 是用来模拟产生一些虚拟的数据,可以让前端在后端接口还没有开发出来时独立开发。我们可以使用真实的url,mockjs可以拦截ajax请求,返回设定好的数据。

可以在src目录下新建mock文件夹,新建index.js文件。在index.js文件中建立虚拟数据。

如果需要使用虚拟数据,就在main.js入口文件中导入mockjs文件。

Mock.setup( settings ): 配置拦截 Ajax 请求时的行为。

Mock.mock( template ): 根据数据模板生成模拟数据。template表示数据模板,可以是对象或字符串。数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值。

'name|rule': value : 属性名 name、生成规则 rule、属性值 value。属性名 和 生成规则 之间用竖线 | 分隔。

'name|min-max': array: 当属性值是数组 Array。通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max。

'name|+1': number: 当属性值是数字 Number。属性值自动加 1,初始值为 number。

占位符: 用 @ 来标识其后的字符串是 占位符。占位符 引用的是 Mock.Random 中的方法。

@cname: 随机生成一个常见的中文姓名。

@ctitle( min, max ): 随机生成一句中文标题。默认值为 3 到 7 之间的随机数。

@integer( min, max ): 返回一个随机的整数。min是最小值,max是最大值。

Mock.mock( rurl, rtype, function( options ) ): 记录用于生成响应数据的函数。当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。

此时,前台向后台发送请求,会获取到mokejs虚拟数据,而不是真实的后台数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9914176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存