本文共 2708 字,大约阅读时间需要 9 分钟。
Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:
在前后端分离式开发中起着很重要的作用。
// 安装npm install mockjs// 使用 Mockvar Mock = require('mockjs')var data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|1-10': [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 'id|+1': 1 }]})// 输出结果console.log(JSON.stringify(data, null, 4))
运行结果会随机生成10个以内的 json 数据,比如第一次生成4个键值对的 JSON 对象,第二次可能为8个。
npm install -g bowerbower install --save mockjs
Mock.js 的语法规范包括两部分:
语法格式:
数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:
// 属性名 name// 生成规则 rule// 属性值 value'name|rule': value
注意:
属性名 和 生成规则 之间用 | 分隔。
生成规则 是可选的。
生成规则 有 7 种格式:
生成规则 的 含义 需要依赖 属性值 才能确定。
属性值 中可以含有 @占位符。
属性值 还指定了最终值的初始值和类型。
示例:
属性值是字符串 String
属性值是数字 Number
{ 'number1|1-100.1-10': 1, 'number2|123.1-10': 1, 'number3|123.3': 1, 'number4|123.10': 1.123 } // => { "number1": 12.92, "number2": 123.51, "number3": 123.777, "number4": 123.1231091814 }
属性值是布尔型 Boolean
属性值是对象 Object
属性值是数组 Array
属性值是数组 Function
占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。占位符 的格式为:
@占位符@占位符(参数 [, 参数])
注意:
{ name: { first: '@FIRST', middle: '@FIRST', last: '@LAST', full: '@first @middle @last' } } // => { "name": { "first": "Charles", "middle": "Brenda", "last": "Lopez", "full": "Charles Brenda Lopez" } }
更多详细说明请移步官网:http://mockjs.com/0.1/
转载地址:http://qavii.baihongyu.com/