mockjs使用总结(随机数据、对象数组随机、后端逻辑模拟等)
1、安装mockjs
npm install mockjs -D
//mockjs默认是无法拦截到fetch请求,如果项目使用的是fetch还需要安装mockjs-fetch
//注:如果封装了fetch 要保证fetch的调用不受到阻碍
npm install mockjs-fetch -D
2、mockjs使用,新建一个mock.js文件,在项目入口文件中导入mock.js文件即可
/*mock.js*/
import Mock from 'mockjs';
//拦截fetch请求时添加
import mockFetch from 'mockjs-fetch';
mockFetch(Mock);
3、语法规范,可查阅https://github.com/nuysoft/Mock/wiki/Getting-Started
4、最常用到的生成规则
’name|+step':value
'name|count': value
'name|min-max': value
一、value为String时
1.'name|count':value
表示生成一个字符串,重复次数等于 count
2.'name|min-max':value
表示生成一个字符串,重复次数大于等于 min,小于等于 max
二、value为Number时
1.'name|+count':value
value值自动加count
2.'name|min-max':value
表示生成一个大于等于 min、小于等于 max 的整数
三、value为Boolean时
1.'name|count': value
随机生成一个布尔值,值为 value 的概率是 1/count,
值为 false 的概率是count-1/count。
2。'name|min-max':value
随机生成一个布尔值,值为 value 的概率是 min / (min + max),值为 !value 的概率是max / (min + max)。
四、value为Object
1.'name|count': value
从对象中随机选取count个属性。
2.'name|min-max': value
从对象中随机选取 min 到 max 个属性。
五、value为Array
1.'name|1': value
从数组中随机选取1个元素
2.'name|+1': value
从数组中按顺序选取1个元素
3.'name|min-max': value
将数组重复min到max次后返回(注意:不是随机选取min-max个元素)
4.'name|count': value
将数组重复count次后返回(注意:不是随机选取count个元素)
六、value为function
返回函数执行后return的结果
七、value为正则表达式
随机生成符合正则表达式的字符串
5、实现从数组中选取多个不重复的元素构成新的数组
/*mock.js*/
const Random = Mock.Random
let arr