node (commonjs)
# 安裝
npm install mockjs
// 使用 mock
var mock = require('mockjs')
var data = mock.mock(]
})// 輸出結果
console.log(json.stringify(data, null, 4))
mock.js 的語法規範包括兩部分:
資料模板定義規範(data template definition,dtd)
資料佔位符定義規範(data placeholder definition,dpd)
資料模板中的每個屬性由 3 部分構成:屬性名、生成規則、屬性值:
// 屬性名 name
// 生成規則 rule
// 屬性值 value
'name|rule': value
注意:佔位符 只是在屬性值字串中占個位置,並不出現在最終的屬性值中。
佔位符 的格式為:
@佔位符
@佔位符(引數 [, 引數])
注意:用@
來標識其後的字串是 佔位符。
佔位符 引用的是mock.random
中的方法。
通過mock.random.extend()
來擴充套件自定義佔位符。
佔位符 也可以引用 資料模板 中的屬性。
佔位符 會優先引用 資料模板 中的屬性。
佔位符 支援 相對路徑 和 絕對路徑。
mock.mock(
})// =>
}
根據資料模板生成模擬資料。
根據資料模板生成模擬資料。
jsfiddle
記錄資料模板。當攔截到匹配rurl
的 ajax 請求時,將根據資料模板template
生成模擬資料,並作為響應資料返回。
jsfiddle
記錄用於生成響應資料的函式。當攔截到匹配rurl
的 ajax 請求時,函式function(options)
將被執行,並把執行結果作為響應資料返回。
jsfiddle
記錄資料模板。當攔截到匹配rurl
和rtype
的 ajax 請求時,將根據資料模板template
生成模擬資料,並作為響應資料返回。
jsfiddle
記錄用於生成響應資料的函式。當攔截到匹配rurl
和rtype
的 ajax 請求時,函式function(options)
將被執行,並把執行結果作為響應資料返回。
jsfiddle
可選。表示需要攔截的 url,可以是 url 字串或 url 正則。例如/\/domain\/list\.json/
、'/domian/list.json'
。
可選。表示需要攔截的 ajax 請求型別。例如get
、post
、put
、delete
等。
可選。表示資料模板,可以是物件或字串。例如] }
、'@email'
。
可選。表示用於生成響應資料的函式。
options
指向本次請求的 ajax 選項集,含有url
、type
和body
三個屬性,參見 xmlhttprequest 規範。
ps:從 1.0 開始,mock.js 通過覆蓋和模擬原生 xmlhttprequest 的行為來攔截 ajax 請求,不再依賴於第三方 ajax 工具庫(例如 jquery、zepto 等)。
配置攔截 ajax 請求時的行為。支援的配置項有:timeout
。
必選。配置項集合。
timeout
可選。指定被攔截的 ajax 請求的響應時間,單位是毫秒。值可以是正整數,例如400
,表示 400 毫秒 後才會返回響應內容;也可以是橫槓'-'
風格的字串,例如'200-600'
,表示響應時間介於 200 和 600 毫秒之間。預設值是'10-100'
。
mock.setup()
mock.setup()
ps:目前,介面mock.setup( settings )
僅用於配置 ajax 請求,將來可能用於配置 mock 的其他行為。
mock.random 是乙個工具類,用於生成各種隨機資料。
mock.random 的方法在資料模板中稱為『佔位符』,書寫格式為@佔位符(引數 [, 引數])
。
mock.random 中的方法與資料模板的@佔位符
一一對應,在需要時還可以為 mock.random 擴充套件方法,然後在資料模板中通過@擴充套件方法
引用。例如:
random.extend(
})random.constellation()
// => "水瓶座"
mock.mock('@constellation')
// => "天蠍座"
mock.mock()
// =>
校驗真實資料data
是否與資料模板template
匹配。
必選。表示資料模板,可以是物件或字串。例如] }
、'@email'
。
必選。表示真實資料。
var template =
var data =
mock.valid(template, data)
// =>
[
]
把 mock.js 風格的資料模板template
轉換成 json schema。
必選。表示資料模板,可以是物件或字串。例如] }
、'@email'
。
var template =
mock.tojsonschema(template)
// =>
, "rule": {},
"properties": [}]}
var template = ]
}mock.tojsonschema(template)
// =>
] },
"rule": {},
"properties": ,
"rule": ,
"items": [,
"rule": {},
"properties":
}]}]
}
ros官網學習資料總結
官方資料 wiki cn api tf tf html c index.html github 活動ros暑期學校 國內首次ros愛好者聚會2015.7.23 7.26 華東師範大學 blog exbot net archives category ros 老王說ros net archives 1...
react native官網安裝總結
android window 1.許可權問題 react native init awesomeproject 此命令是生成專案,目錄預設在cmd開啟的目錄,請不要在c盤執行,如在d盤,按住shift,右鍵出來打一命令列,然後執行react native init awesomeproject 2....
vue官網學習(一)
一直聽說vue.js的學習一定要通過官網來學習,個人雖然接觸過vue專案,對於官網還是比較陌生,所以今天開始對官網進行乙個初步的學習,後期準備看完之後,整理出來乙個比較清晰的目錄出來,供大家學習,希望大家持續關注我的部落格,謝謝!如果有不對的地方,希望大家能夠指正 一 安裝 1.vue.js相容所有...