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 海外"
}
*/
如果希望自己想要的數據格式進行填充,可以使用擴展功能自己擴展:
總結
以上是生活随笔為你收集整理的mock.js语法规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT类职位常用缩写 SA SD RD P
- 下一篇: 艾愈胶囊_功效作用注意事项用药禁忌用法用