VSCode插件--一個簡潔的Mock數(shù)據(jù)服務器

前后分離的開發(fā)模式中,我們難免需要mock數(shù)據(jù)固惯,一說到mock數(shù)據(jù)我們就想到大名鼎鼎的mockjs凌摄,但是每次使用mock數(shù)據(jù)時涡驮,我們都需要引入mockjs,為了做到對原始代碼不做到侵入镇辉,我們還需要將mock的數(shù)據(jù)用單獨文件保存词身,為了模擬線上環(huán)境還要本地搭建個服務器厅目,總之就是比較麻煩。法严。损敷。

為此我做了一個vscode拓展,Mock-Myself渐夸,它提供了如下功能:

  • 1.自動在項目工程生成文件夾保存mock數(shù)據(jù)嗤锉,方便其他人使用mock數(shù)據(jù)
  • 2.自動在本地啟動mock服務器
  • 3.自定義mock數(shù)據(jù),符合mockjs生成規(guī)則
  • 4.圖形化界面墓塌,方便查看使用
  • 5.自定義接口數(shù)據(jù)規(guī)則
  • 6.適配vscode主流主題色
  • 7.支持多個命令瘟忱,更加方便使用。

如下圖 我們在vscode插件中搜索Mock-Myself插件苫幢,下載安裝后執(zhí)行 mock-myself 就可啟動mock服務器访诱,開始我們的mock數(shù)據(jù)了。

211564919735_.pic_hd.jpg

如何使用呢韩肝?

一般情況下我們只需要簡單生成mock數(shù)據(jù)触菜,那么我們只需要寫入我們簡單的mock數(shù)據(jù),這個mock數(shù)據(jù)是基于mockjs生成的哀峻,想生成一些特殊的mock數(shù)據(jù)你可以查看mockjs 使用涡相。

有時我們需要根據(jù)提交數(shù)據(jù)不同來生成不同的數(shù)據(jù),這時我們就需要用到query這個函數(shù)了剩蟀。

/**
 * req:是請求接口提交的數(shù)據(jù)對象
 * fn:是執(zhí)行函數(shù)回調(diào)催蝗,函數(shù)的參數(shù)是需要生成mock數(shù)據(jù)
**/
function query(req,fn){
    
}

舉個例子:假如我們有這樣一個接口--‘http://localhost:8989/test/deatil’;現(xiàn)在我們需要根據(jù)請求參數(shù)不同返回不同數(shù)據(jù)如下:

const url = http://localhost:8989/test/deatil;
$.post(url,
  {name:'mock-self'},
  function(result){
    console.log(result);
    // 期望數(shù)據(jù) {id:'370000201007178245',name:'Mock-Myself'}
})
$.post(url,
  {name:'easy-mock'},
  function(result){
    console.log(result);
    // 期望數(shù)據(jù) {id:'370000201007178245',name:'Easy-Mock'}
})

從上面代碼可以看出來育特,我們請求參數(shù)name不同需要返回不同的數(shù)據(jù)丙号。Mock-myself就可以很方便實現(xiàn):

function query(req,fn){
    switch (req.name) {
        case 'mock-myself':
            fn({id: '@id',name:'mock-self'})
            break;
        case 'easy-mock':
            fn({id: '@id',name:'easy-mock'})
            break;
        default:
            fn(true)
    }
}

通過fn參數(shù)來自定義mock返回的數(shù)據(jù),這樣以后我們想怎么mock就怎么mock缰冤,根據(jù)需要變化mock數(shù)據(jù)犬缨,讓我們可以模擬更多是環(huán)境和狀態(tài)。

小貼士

Mock-Myself目前支持下面三個命令:
mock-myself:啟動mock服務器和可視化操作界面(啟動服務器同時生成可視化界面編輯mock數(shù)據(jù))
mock-run:直接啟動mock服務器(一般本地數(shù)據(jù)都寫好棉浸,只需要啟動服務是使用)
mock-stop:停止mock服務器

Mock-Myself用起來雖然很爽但是還是有幾點要注意:

  • mock服務器會在你工作的項目中生成一個_MOCK_的文件夾存放mock數(shù)據(jù)怀薛,所有項目中不要用_MOCK_文件名;
  • mock服務器會啟動8989端口迷郑,所以建議不要占用乾戏;
  • 一般情況直接編寫mock數(shù)據(jù)迂苛,如果需要自定義規(guī)則時編寫query函數(shù)記得一定要執(zhí)行fn回調(diào);
  • 每次請求接口數(shù)據(jù)都會變化鼓择,如果想數(shù)據(jù)保持不變的話在請求參數(shù)加上{...data,default:true}

(當然在下一個迭代中這些問題都不會存在了)

[Unreleased]

  • 增加自定義 mock 根目錄
  • 動態(tài)配置mock服務端口
  • 自定義規(guī)則query函數(shù)支持異步規(guī)則
  • ...
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末三幻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子呐能,更是在濱河造成了極大的恐慌念搬,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摆出,死亡現(xiàn)場離奇詭異朗徊,居然都是意外死亡,警方通過查閱死者的電腦和手機偎漫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門爷恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人象踊,你說我怎么就攤上這事温亲。” “怎么了杯矩?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵栈虚,是天一觀的道長。 經(jīng)常有香客問我史隆,道長魂务,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任泌射,我火速辦了婚禮粘姜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘孤紧。我一直安慰自己,他們只是感情好纯陨,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布留储。 她就那樣靜靜地躺著,像睡著了一般获讳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丐膝,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天钾菊,我揣著相機與錄音,去河邊找鬼偎肃。 笑死,一個胖子當著我的面吹牛累颂,可吹牛的內(nèi)容都是我干的滞详。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼紊馏,長吁一口氣:“原來是場噩夢啊……” “哼料饥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起朱监,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岸啡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后赫编,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巡蘸,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年沛慢,在試婚紗的時候發(fā)現(xiàn)自己被綠了赡若。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡团甲,死狀恐怖逾冬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躺苦,我是刑警寧澤身腻,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站匹厘,受9級特大地震影響嘀趟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜愈诚,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一她按、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炕柔,春花似錦酌泰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至欢嘿,卻和暖如春衰琐,著一層夾襖步出監(jiān)牢的瞬間也糊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工羡宙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狸剃,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓辛辨,卻偏偏與公主長得像捕捂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子斗搞,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 閱讀之前 希望你能有以下基礎指攒,方便閱讀: ECMAScript 6 (ES6) 為什么需要Mock 這樣的場景,相...
    三木santree閱讀 4,486評論 0 5
  • Mock Server 前端Mock接口和數(shù)據(jù)方案 前言 Mocker Server的解釋:就是前端直接創(chuàng)建一個后...
    王樂城愚人云端閱讀 4,091評論 0 5
  • 前言 最近一直在搗鼓畢設僻焚,準備做的是一個基于前后端開發(fā)的Mock平臺允悦,前期花了很多時間完成了功能模塊的交互。現(xiàn)在進...
    臨水照影233閱讀 9,575評論 0 8
  • 一虑啤、為什么要模擬數(shù)據(jù)隙弛? 項目開發(fā)中,前端工程師需要依賴后端工程師的數(shù)據(jù)接口以及后端聯(lián)調(diào)環(huán)境狞山。但是其實我們也可以根據(jù)...
    小小美呀閱讀 6,751評論 0 8
  • 今天萍启,我的媽媽發(fā)燒了。但是她還得抱著我勘纯,陪我去我想去的地方玩。還要慢慢的扶著我驳遵,讓我學走路。當我走累了想要休...
    姜旺兒閱讀 494評論 0 1