特性
前后端分離
讓前端攻城師獨(dú)立于后端進(jìn)行開(kāi)發(fā)
增加但愿測(cè)試的真實(shí)性
通過(guò)隨機(jī)數(shù)據(jù)座舍,模擬各種場(chǎng)景。
開(kāi)發(fā)無(wú)入侵
不需要修改既有代碼,就可以攔截 Ajax 請(qǐng)求瓶盛,返回模擬的響應(yīng)數(shù)據(jù)都伪。
用法簡(jiǎn)單
符合直覺(jué)的接口呕乎。
數(shù)據(jù)類型豐富
支持生成隨機(jī)的文本、數(shù)字陨晶、布爾值猬仁、日期、郵箱先誉、鏈接湿刽、圖片、顏色等谆膳。
方便擴(kuò)展
支持支持?jǐn)U展更多數(shù)據(jù)類型叭爱,支持自定義函數(shù)和正則。
開(kāi)始安裝
Node(CommonJS)
# 安裝
npm install mockjs
// 使用 Mock
var Mock = require('mockjs')
var data = Mock.mock({
// 屬性 list 的值是一個(gè)數(shù)組漱病,其中含有 1 到 10 個(gè)元素
'list|1-10': [{
// 屬性 id 是一個(gè)自增數(shù)买雾,起始值為 1,每次增 1
'id|+1': 1
}]
})
// 輸出結(jié)果
console.log(JSON.stringify(data, null, 4))
Bower
# 安裝
npm install -g bower
bower install --save mockjs
RequireJS (AMD)
// 配置 Mock 路徑
require.config({
paths: {
mock: 'http://mockjs.com/dist/mock'
}
})
// 加載 Mock
require(['mock'], function(Mock){
// 使用 Mock
var data = Mock.mock({
'list|1-10': [{
'id|+1': 1
}]
})
// 輸出結(jié)果
document.body.innerHTML +=
'<pre>' +
JSON.stringify(data, null, 4) +
'</pre>'
})
// ==>
{
"list": [
{
"id": 1
},
{
"id": 2
},
{
"id": 3
}
]
}
Sea.js (CMD)
因?yàn)?Sea.js 社區(qū)尚未提供 webpack 插件杨帽,所以 Mock.js 暫不完整支持通過(guò) Sea.js 加載漓穿。
一種變通的方式是,依然通過(guò) Sea.js 配置和加載 Mock.js注盈,然后訪問(wèn)全局變量 Mock晃危。
// 配置 Mock 路徑
seajs.config({
alias: {
mock: 'http://mockjs.com/dist/mock.js'
}
})
// 加載 Mock
seajs.use('mock', function(__PLACEHOLDER) {
// 使用 Mock(全局變量)
var data = Mock.mock({
'list|1-10': [{
'id|+1': 1
}]
});
document.body.innerHTML +=
'<pre>' +
JSON.stringify(data, null, 4) +
'</pre>'
})
Random CLI
# 全局安裝
$ npm install mockjs -g
# 執(zhí)行
$ random url
# => http://rmcpx.org/funzwc
# 幫助
random -h