本文共 1855 字,大约阅读时间需要 6 分钟。
Mock.js 是一个强大的 JavaScript 库,用于快速生成 mock 数据。它的语法规范可以帮助开发者轻松创建符合需求的数据模拟。下面将详细介绍 Mock.js 的语法规范,包括数据模板定义(DTD)和数据占位符定义(DPD)。
数据模板中的每个属性由三部分构成:属性名、生成规则(可选)和属性值。格式为:
‘name|rule’: value
|
分隔。@占位符
,并指定最终值的初始值和类型。属性值为字符串(String)
‘name|min-max’: string
:通过重复字符串生成长度在 min
到 max
之间的字符串。‘name|count’: string
:重复字符串 count
次生成字符串。属性值为数字(Number)
‘name|+1’: number
:属性值自动加 1,初始值为 number
。‘name|min-max’: number
:生成一个在 min
到 max
之间的整数,number
用于确定类型。‘name|min-max.dmin-dmax’: number
:生成一个浮点数,整数部分在 min
到 max
之间,小数部分保留 dmin
到 dmax
位。‘name|min-max.dcount’: number
:生成一个浮点数,整数部分在 min
到 max
之间,小数部分随机保留到 dcount
位。属性值为布尔型(Boolean)
‘name|1’: boolean
:随机生成一个布尔值,真假概率均为 1/2。‘name|min-max’: boolean
:生成一个布尔值,value
为 min
概率,!value
为 max
概率。属性值为对象(Object)
‘name|count’: object
:从属性值对象中随机选取 count
个属性。‘name|min-max’: object
:随机选取 min
到 max
个属性。属性值为数组(Array)
‘name|1’: array
:从数组中随机选取一个元素。‘name|+1’: array
:按顺序选取一个元素。‘name|min-max’: array
:重复数组生成新数组,重复次数在 min
到 max
之间。‘name|count’: array
:重复数组生成新数组,重复次数为 count
。属性值为函数(Function)
‘name’: function
:执行函数并取返回值,函数上下文为对象。属性值为正则表达式(RegExp)
‘name’: regexp
:根据正则表达式生成匹配的字符串。Mock.mock({ number1: 'number1|1-100.1-10': 1, number2: 'number2|123.1-10': 1, number3: 'number3|123.3': 1, number4: 'number4|123.10': 1.123});// 生成结果{ number1: 12.92, number2: 123.51, number3: 123.777, number4: 123.1231091814}
占位符用于占用字符串位置,不出现在最终属性值中。占位符格式为:
@占位符@占位符(参数 [, 参数])
Mock.Random
方法。Mock.Random.extend()
扩展自定义占位符。Mock.mock({ name: { first: '@FIRST', middle: '@FIRST', last: '@LAST', full: '@first @middle @last' }});// 生成结果{ name: { first: 'Charles', middle: 'Brenda', last: 'Lopez', full: 'Charles Brenda Lopez' }}
Mock.js 提供了强大的数据模拟功能,适用于开发、测试和设计等多种场景。通过合理使用数据模板和占位符,可以快速生成符合需求的数据,提升开发效率。
转载地址:http://hfffk.baihongyu.com/