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:通过重复字符串生成长度在 minmax 之间的字符串。
    • ‘name|count’: string:重复字符串 count 次生成字符串。
  • 属性值为数字(Number)

    • ‘name|+1’: number:属性值自动加 1,初始值为 number
    • ‘name|min-max’: number:生成一个在 minmax 之间的整数,number 用于确定类型。
    • ‘name|min-max.dmin-dmax’: number:生成一个浮点数,整数部分在 minmax 之间,小数部分保留 dmindmax 位。
    • ‘name|min-max.dcount’: number:生成一个浮点数,整数部分在 minmax 之间,小数部分随机保留到 dcount 位。
  • 属性值为布尔型(Boolean)

    • ‘name|1’: boolean:随机生成一个布尔值,真假概率均为 1/2。
    • ‘name|min-max’: boolean:生成一个布尔值,valuemin 概率,!valuemax 概率。
  • 属性值为对象(Object)

    • ‘name|count’: object:从属性值对象中随机选取 count 个属性。
    • ‘name|min-max’: object:随机选取 minmax 个属性。
  • 属性值为数组(Array)

    • ‘name|1’: array:从数组中随机选取一个元素。
    • ‘name|+1’: array:按顺序选取一个元素。
    • ‘name|min-max’: array:重复数组生成新数组,重复次数在 minmax 之间。
    • ‘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 提供了强大的数据模拟功能,适用于开发、测试和设计等多种场景。通过合理使用数据模板和占位符,可以快速生成符合需求的数据,提升开发效率。

    上一篇:my97日期控件插件的开发与编写
    下一篇:Mock.js 的语法规范

    发表评论

    最新留言

    哈哈,博客排版真的漂亮呢~
    [***.90.31.176]2025年05月14日 02时54分03秒

    关于作者

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

    推荐文章