1.什么是Mock.js?
生成随机数据,拦截Ajax请求。
通过随机数据,模拟各种场景;不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据;支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等;支持支持扩展更多数据类型,支持自定义函数和正则。
优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型。
2.安装
- 使用npm安装:npm install mockjs --save
- 使用yarn安装:yarn add mockjs --save
3.使用方法
基本语法:Mock.mock(url,{ “dataname|rule”:{“对应的值”} })
url 就是我们通过ajax获取数据时候填写的地址,这里填写的地址可以是任意不存在的地址,第二个参数是我们要模拟的数据,以及相应的规则。
语法规则:参照官网实例 http://mockjs.com/examples.html
// 获取 mock.Random 对象
const Random = Mock.Random;
Mock.mock('/user/list','post',{
data:{
"list|5":[ //生成|5个如下格式名字的数据
{
"id|+1":1, //数字从当前数开始后续依次加一
"name": "@cname", //名字为随机中文名字
"age|1~40": 20, //年龄为1-40之间的随机数字
"sex|1":["男","女"], //性别是数组中的一个,随机的
"job|1":["web","UI","python","php","java"], //工作是数组中的一个
'email':"@email", //随机邮箱
'city':"@city()", // city: "扬州市"
'city2':Random.city(true), // city2: "新疆维吾尔自治区 吐鲁番地区"
'county':"@county(true)", // county "澳门特别行政区 离岛 -"
'county2':Random.county(true), // county2: "湖南省 株洲市 茶陵县"
}
]
}
})
生成的数据结果为:
再试一组数据:
Mock.mock('/other','post',{
"data|5":[
{
'img':"@image", //随机获取图片
'boo1':"@boolean",//随机获取boolean值
'date':Random.now('yyyy-MM-dd HH:mm:ss SS'),
'img1':Random.image('200x100'),
// Random.image( size, background, text )
'img2':Random.image('200x100', '#4A7BF7', 'Hello'),
// Random.image( size, background, foreground, text )
'img3':Random.image('200x100', '#50B347', '#FFF', 'Mock.js'),
// Random.image( size, background, foreground, format, text )
'img4':Random.image('200x100', '#894FC4', '#FFF', 'png', '!'),
'color':Random.color(),
'foo': 'foo函数测试',
'name': function() {
return this.foo
}
}
]
})
生成的数据结果为: