zoukankan      html  css  js  c++  java
  • mockjs 的语法规则(二)

      mockjs主要有两种语法规范: 数据模板定义规范DTD  && 数据占位符定义规范DPD;

      数据模板中的每个属性由三部分组成: 属性名、规则、属性值;

        属性名和规则之间用 “|” 进行分割;生成规则是可选的,一共有七种规则,但是规则的含义具体要根据属性值来进行确定,不同的属性值对应的规则含义是不同的;属性值中可以包含 @占位符,并且属性值还指定了最终值的初始值以及类型;

        我们在实际的应用中,属性值的类型其实就是我们 js 中数据的类型:string、number、boolean、object、array、function以及正则reg ;

        1)、属性值为 string

          ' name| min-max' : string ;  //通过重复string生成一个字符串,string的重复次数 大于等于min ; 小于等于max ;

          ' name| count' : string;  //通过重复string生成一个字符串,重复次数为 count ;

        2)、属性值为 number

          ' name| min-max' : number ;  //生成一个大于等于min 小于等于 max 的整数;

          ' name| +1' : number ;  //属性值自动加1,初始值为 number ;

          ‘ name| min-max.dmin-dmax’ : number ;  //生成一个浮点数,整数部分大于等于min,小于等于max; 小数部分保留 dmin 到 dmax 位;

        3)、属性值为 boolean

          ' name| 1' : boolean ; //随机生成一个布尔值,值为 true 和 false 的概率均为 50%;

          ' name| min-max' : boolean ; //随机生成一个布尔值,值为 true 的概率为 min/( min + max) ; 值为 false 的概率为 max/( min + max);

        4)、属性值为 object 

          ' name| count' : object ;    //从object中随机抽取count 个属性;

          ' name| min-max' : object;  //从object中随机抽取 min 到 max 个属性;

        5)、属性值为 array

          ' name| 1': array ;  //从array中随机选取一个值最为最终值;

          ' name| +1' : array;  //从array 中顺序选择一个元素,最为最终值;

          ' name| min-max' : array ;  //通过重复array 生成一个新数组,重复的次数大于等于min, 小于等于max ;

          ' name| count' : array;  //通过重复array 生成一个新数组,重复的次数为 count ;

        6)、属性值为 function

          ' name' : function ;  // 执行function,使其最终的返回值最为 最终的属性值;函数的上下文为 name 所在的对象;

        7)、属性值为 RegExp

          ' name' : reg ;   //根据正则去生成一个符合这个正则表达式规则的属性值;

        

        数据占位符只是在属性值字符串中占据一个位置,最终并不出现在属性值中, 占位符的格式为  @占位符  ||  @占位符(参数 [,参数]);

        使用数据占位符的时候需要注意的是: 1)、用@来标识的其后的是占位符;2)、占位符应用的是Mock.random的方法; 3)、通过Mock.random.extend()来扩展自定义占位符; 4)、占位符也可以引用数据模板中的数据而且会优先引用;5)、占位符支持相对路径也支持绝对的路径;

  • 相关阅读:
    CODING x 百果园 _ 水果零售龙头迈出 DevOps 体系建设第一步
    Nocalhost 亮相 CD Foundation 国内首届 Meetup,Keith Chan 将出席致辞
    做云原生时代标准化工具,实现高效云上研发工作流
    打造数字化软件工厂 —— 一站式 DevOps 平台全景解读
    WePack —— 助力企业渐进式 DevOps 转型
    CODING Compass —— 打造行云流水般的软件工厂
    Nocalhost —— 让云原生开发回归原始而又简单
    CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全
    Nocalhost:云原生开发新体验
    使用 Nocalhost 开发 Kubernetes 中的 APISIX Ingress Controller
  • 原文地址:https://www.cnblogs.com/mufc/p/10393989.html
Copyright © 2011-2022 走看看