mockjs使用手册
# 安装
yarn add mockjs --save-dev
# 语法规范
语法规范包括两部分:
- 数据模板定义规范(Data Template Definition,DTD)
- 数据占位符定义规范(Data Placeholder Definition,DPD)
# 数据模板定义规范 DTD
// 属性名 name
// 生成规则 rule
// 属性值 value
'name|rule': value
1
2
3
4
2
3
4
- 属性名 和 生成规则 之间用竖线 | 分隔。
- 生成规则 是可选的。
'name|min-max': value'name|count': value'name|min-max.dmin-dmax': value'name|min-max.dcount': value'name|count.dmin-dmax': value'name|count.dcount': value'name|+step': value
# 数据占位符定义规范 DPD
@占位符
@占位符(参数 [, 参数])
Mock.mock({
name: {
first: '@FIRST',
middle: '@FIRST',
last: '@LAST',
full: '@first @middle @last'
}
})
// =>
{
"name": {
"first": "Charles",
"middle": "Brenda",
"last": "Lopez",
"full": "Charles Brenda Lopez"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Mock.Random.extend({
car: function () {
var cars = ['大众', '别克', '劳斯莱斯', '保时捷', '迈巴赫', '公交车']
return this.pick(cars)
},
})
1
2
3
4
5
6
2
3
4
5
6
# 实例
Mock.mock('/get_userinfo','GET',{
'status|1':true, //标识请求是否成功,返回true的概率是1/2
'message':'@csentence', //请求失败时返回错误信息,使用占位符返回中文句子
'data':{
'id|1-20':0, //id为1~20之间的整数,0表示返回值为数字类型
'nickname' : '@ctitle', //昵称使用中文标题占位符
'realname' : '@cname', //实名使用中文名称占位符
'birthday' : '@date', //生日使用日期占位符
'signature' : '@csentence', //签名使用中文语句占位符
'address' : '@county(true)', //城市占位符转译格式为'陕西省 西安市'
'email' : '@email', //邮箱使用邮箱占位符
'openId' : '@word(28)', //生成28位字符串模拟ID
'avatar' : '@dataImage(200x100)', //生成尺寸为200×100的头像图片链接
'account' : '2000-3000.2':1, //账户余额整数部分为2000~3000,小数点后保留2位
}
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
编辑 (opens new window)
上次更新: 2023/04/01, 15:26:22