
Mock.js 的语法规范学习
发布日期:2025-04-14 10:25:18
浏览次数:8
分类:精选文章
本文共 1855 字,大约阅读时间需要 6 分钟。
Mock.js 是一个强大的 JavaScript 库,用于快速生成 mock 数据。它的语法规范可以帮助开发者轻松创建符合需求的数据模拟。下面将详细介绍 Mock.js 的语法规范,包括数据模板定义(DTD)和数据占位符定义(DPD)。
1. 数据模板定义(DTD)
数据模板中的每个属性由三部分构成:属性名、生成规则(可选)和属性值。格式为:
‘name|rule’: value
- 属性名 和 生成规则 之间用竖线
|
分隔。 - 生成规则 是可选的,共有 7 种格式。
- 属性值 可以包含
@占位符
,并指定最终值的初始值和类型。
生成规则及其示例
属性值为字符串(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}
2. 数据占位符定义(DPD)
占位符用于占用字符串位置,不出现在最终属性值中。占位符格式为:
@占位符@占位符(参数 [, 参数])
- 占位符引用
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 提供了强大的数据模拟功能,适用于开发、测试和设计等多种场景。通过合理使用数据模板和占位符,可以快速生成符合需求的数据,提升开发效率。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年05月14日 02时54分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!