zoukankan      html  css  js  c++  java
  • 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:取的范围值都是可以取到两端的极限值的
  • 相关阅读:
    spring boot项目接入xxl-job
    Vue3 目录结构
    [原创]阿里全链路压测学习及理解
    python测试开发django-107.form组件widgets(radio/checkbox/单选多选下拉框/日历控件)
    ubuntu通过nginx部署fastcgi程序
    fastcgi
    fpc protobuf开源框架
    delphi jwt
    JWT
    google protobuf经验
  • 原文地址:https://www.cnblogs.com/waterFowl/p/9700008.html
Copyright © 2011-2022 走看看