Mockjs 官網學習總結

2021-09-29 18:26:18 字數 3986 閱讀 8010

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

記錄資料模板。當攔截到匹配rurlrtype的 ajax 請求時,將根據資料模板template生成模擬資料,並作為響應資料返回。

jsfiddle

記錄用於生成響應資料的函式。當攔截到匹配rurlrtype的 ajax 請求時,函式function(options)將被執行,並把執行結果作為響應資料返回。

jsfiddle

可選。表示需要攔截的 url,可以是 url 字串或 url 正則。例如/\/domain\/list\.json/'/domian/list.json'

可選。表示需要攔截的 ajax 請求型別。例如getpostputdelete等。

可選。表示資料模板,可以是物件或字串。例如] }'@email'

可選。表示用於生成響應資料的函式。

options

指向本次請求的 ajax 選項集,含有urltypebody三個屬性,參見 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相容所有...