mock.js語法規范


mock.js 的語法規范包括兩個部分:

  1,數據模板定義規范

  2,數據占位符定義規范

數據模板定義規范

  每個屬性由3部分構成:屬性名、生成規則、屬性值

  '屬性名 | 生成規則 ' :屬性值

  ①生成規則是可選的

  ②生成規則有7中格式:

    

   ③生成規則的含義需要依賴屬性值的類型才能確定

    屬性值中可以含有 @占位符

    屬性值還指定了最終值的初始值和類型

  屬性值是字符串String

     ① 'name | min-max ' : string : 通過重復 string 生成一個字符串,重復次數大於等於 min , 小於等於 max

     ② 'name | count ' : string : 通過重復 string 生成一個字符串,重復次數等於 count

      

        

  屬性值是數字Number

    ① ' name | +1 ' : number:屬性值自動加1,初始值為 number

    ② ' name | min-max ' : number : 生成一個大於等於 min、小於等於 max 的整數,屬性值 number 只是用來確定類型

    ③ ' name | min-max.dmin-dmax ' : number:生成一個浮點數,整數部分大於等於 min,小於等於 max,小數部分保留到 dmin 到 dmax 位

      

         

   屬性值是 布爾型 Boolean

    ① ' name | 1 ' : boolean:隨機生成一個布爾值,值為 true 的概率是 1/2,值為 false的概率同樣式 1/2

    ② ' name | min-max ' : value:隨機生成一個布爾值,值為 value的概率是 min / ( min+max ) ,值為 !value 的概率是 max / ( min+max )

      

        

   屬性值是對象 Object

    ① ' name | count ' : object:從屬性值 object 中隨機選取 count 個屬性

    ② ' name | min-max ' : object:從屬性值 object 中隨機選取 min  到 max 個屬性

      

      

  屬性值是數組 Array

    ① ' name | 1 ' : array:從屬性值 array 中隨機選取1個元素,作為最終值

    ② ' name | +1 ' : array : 從屬性值 array 中順序選取1個元素,作為最終值

    ③ ' name | min-max ' : array:通過重復屬性值 array 生成一個新數組,重復次數大於等於 min,小於等於 max

    ④ ' name | count ' : array:通過重復屬性值 array 生成一個新數組,重復次數為 count

      

  屬性值是函數 function

    ① ' name' : function:執行函數 function ,取其返回值作為最終的屬性值,函數的上下文為屬性 ' name ' 所在的對象

           

   屬性值是正則表達式 RegExp

    ① ' name' : regexp:根據正則表達式 regexp 反向生成可以匹配它的字符串,用於生成自定義格式的字符串

      

 

數據占位符定義規范

    ①占位符只是在屬性值字符串中占個位置,並不出現在最終的屬性值中

    ②通過 ' @占位符 ' 這種方式來隨機產生各種不同的數據

    ③兩種方式可以輸出這種隨機占位符,

      console.log( Mock.Random.name() ) 

      console.log( Mock.mock('@name') )

    ④占位符名稱:

      

const Mock = require('mockjs')
const data=Mock.mock({
    name:'@name', //隨機英文名
    cname:'@cname', //隨機中文名
    id: '@id', //隨機id
    city:'@city', //隨機城市
    ctitle:'@ctitle', //隨機中文標題
    color:'@color', //隨機顏色,十六進制
    image:'@image', //隨機圖片,一個圖片地址
    ip:'@ip', //隨機ip地址
    url:'@url', //隨機 url 地址
    string:'@string', //隨機字符串
    integer:'@integer', // 隨機數值
    datetime:'@datetime', //隨機日期
    full:'@name  @city'

})
console.log(JSON.stringify(data,null,4))

/**
 * {
      "name": "Larry Williams",
      "cname": "毛勇",
      "id": "510000200404287447",
      "city": "海外",
      "ctitle": "影那層究電月",
      "color": "#79f29a",
      "image": "http://dummyimage.com/728x90",
      "ip": "121.134.158.233",
      "url": "http://buiurx.na/vstqnnatr",
      "string": "*vA)",
      "integer": 155467471122952,
      "datetime": "2000-05-28 15:46:52",
      "full": "Larry Williams  海外"
   }
*/

  如果希望自己想要的數據格式進行填充,可以使用擴展功能自己擴展:

  

 

 

 

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM