Mock.js——数据模板定义

1. 安装

npm install mockjs --save-dev  //安装开发依赖

2. 数据模板定义规则

Mock.mock({...}) String: 'string|num1-num2':str eg:'name|1-5':'*'   
    //从num1和num2之间随机取值a,复制a个str并链接成一个字符串
'string|count':str eg:'name|3':'*'
    //一个由count个str拼成的字符串,count是定值
Number: 'number|num1-num2':num eg:'age|10-20':100
    //生成一个介于num1和num2之间的数字,num是初始值
'number|+1':num eg:'age|+1':100
    //num为初始值,每次被调用num都会+1。前提是在生成list时
 Mock.mock({ 'obj|3-5':[{ 'age|+1':2 }] }) 'number|num1-num2.dnum1-dnum2':num eg:'age|1-100.1-10':1
    //生成一个整数部分是num1和num2之间的数字,小数部分的长度为dnum1和dnum2之间的长度;num为初始值
    //整数部分只有一个时整数固定,小数部分只有一个时,小数长度固定
Boolean: 'boolean|1':res eg:'boolean|1':true
    //值为res的几率占了一半,res为true或false
'boolean|num1-num2':res eg:'boolean|1-100':true
    //值为res的几率为num1/(num1+num2)
Object: 'object|count':{ a:1, b:'11', ... } //从下面的属性中随机选择count个属性做为object的属性。count大于属性个数时取属性个数
'object|num1-num2':{ ... } //取num1-num2之间的一个数a,而后从对象属性中随机取a个属性
Array: 'array|1':[ ... ] //从数组中取一个值做为array的元素
'array|count':[ ... ] //将数组复制count份并链接成一个数组
'array|num1-num2':{ ... } //从num1和num2中取一个值a,而后将数组复制a份并链接成一个数组
Function: Mock.mock({ 'foo': 'Syntax Demo', 'name': function() { return this.foo } }) 值: { "foo": "Syntax Demo", "name": "Syntax Demo" } RegExp: 'regexp':/.../ eg:'regexp':/[a-z][0-9]/          结果:'regexp':'b1'
    //生成一个知足正则内容的字符串。数字、字符等随机选取
'regexp|count':/.../ eg:'regexp|3':/[a-z][0-9]-/        结果:'regexp':'b1-b1-b1-'
    //复制count份正则的结果并连成一个字符串
'regexp|num1-num2':/.../ eg:'regexp|1-5':/[a-z][0-9]/        结果:'regexp':'b1b1b1b1'
  //从num1和num2中随机选取一个数a,复制a份正则的结果并串成字符串
Path: 绝对路径: Mock.mock({ "foo": "Hello", "nested": { "a": { "b": { "c": "Mock.js" } } }, "absolutePath": "@/foo @/nested/a/b/c" }) 值: { "foo": "Hello", "nested": { "a": { "b": { "c": "Mock.js" } } }, "absolutePath": "Hello Mock.js" } 相对路径: Mock.mock({ "foo": "Hello", "nested": { "a": { "b": { "c": "Mock.js" } } }, "relativePath": { "a": { "b": { "c": "@../../../foo @../../../nested/a/b/c" } } } }) 值: { "foo": "Hello", "nested": { "a": { "b": { "c": "Mock.js" } } }, "relativePath": { "a": { "b": { "c": "Hello Mock.js" } } } } //绝对路径是从对象的根路径开始算的,相对路径是从当前位置开始算的
 PS:取的范围值都是能够取到两端的极限值的
相关文章
相关标签/搜索