VUE 項目 使用 mock.js

前后端分離之后,在沒有中間層情況下前后進度不一致導致接口調(diào)試耗時不可預期闺属。前端可以根據(jù)接口文檔定義的結(jié)構(gòu)mock數(shù)據(jù)以減少進度延遲風險。

Mock.js

攔截Ajax請求, 并按規(guī)則返回模擬數(shù)據(jù)周霉。

具體用法參考 Mock官方文檔

集成 axios

請求庫使用的是 axios, 具體用法參考教程

可把axios添加到vue的原型鏈上

// main.js 
import axios from 'axios'
Vue.prototype.$http = axios;

使用axios進行數(shù)據(jù)請求

// *.vue

this.$http.get('/api/test').then(ret => {});

集成Mock

新增mock文件夾, 文件夾里新建mock.js

安裝mockjs
npm install mockjs --save-dev 
配置mock規(guī)則
// mock.js
// 具體配置方法查看Mock.js 官方文檔掂器。

import Mock from 'mockjs'
Mock.mock('/api/test', {
  "ret": 0,
  "data": '@cname'
})
引入mock

在主入口引入mock

// main.js 中新增

import './mock/mock.js' // 注意路徑

再次發(fā)送上面的請求, 返回如下圖


image.png

證明mock集成成功。

多人協(xié)作優(yōu)化

項目多人開發(fā)時, 如果所有人都維護同一個mock.js, 或者每個人都寫自己的xxx-mock.js, 然后再把所有的xxx-mock.js手動引入, 很不優(yōu)雅俱箱。

修改mock.js

修改mock.js, 使其自動加載js文件国瓮。并把mock返回數(shù)據(jù)配置移到其他的JS文件, mock.js 只做公共配置、自定義占位符等公共操作狞谱。

// mock.js

import Mock from 'mockjs'
// 自動加載當前文件夾和子文件夾下除mock.js外所有的js文件
const context = require.context('.', true, /^((?!mock\.js).)*\.js$/)
context.keys().forEach(key => context(key));

// Mock 配置, 請求返回的延遲時間
Mock.setup({
  timeout: '500-10000'
});
// 自定義占位符
Mock.Random.extend({
  test () {
    let test = ['a', 'b', 'c', 'd'];
    return this.pick(test);
  }
})

現(xiàn)在的層級目錄是這樣的:


image.png

test.js 和 test2.js 會自動加載乃摹。
到此就解決了多人協(xié)作時出現(xiàn)的上述問題。

接口調(diào)試優(yōu)化

當有部分接口完成芋簿,已完成的走接口峡懈,未完成的走mock。

修改mock配置

所有mock配置加統(tǒng)一前綴 /mock, 這樣只會攔截/mock下的請求与斤。

Mock.mock('/api/test', {
 "ret": 0,
 "data": '@cname'
})

改為

Mock.mock('/mock/api/test', {
 "ret": 0,
 "data": '@cname'
})

調(diào)用接口的請求不帶/mock, 如 /api/test 接口肪康, 然后配置代理即可轉(zhuǎn)到對應的接口服務器。

// 通過如下配置會把所有的/api開頭的請求轉(zhuǎn)到百度去撩穿, 如: /api/test ==> https://www.baidu.com/test

proxy: {
    '/api': {
      target: 'https://www.baidu.com',
      changeOrigin: true,
      pathRewrite: {
        '^/api': '/'
      }
    }
  }

到此可實現(xiàn)部分請求mock, 部分請求代理到服務器磷支。

暫時到此結(jié)束, 如有問題后續(xù)更新。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末食寡,一起剝皮案震驚了整個濱河市雾狈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抵皱,老刑警劉巖善榛,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異呻畸,居然都是意外死亡移盆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門伤为,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咒循,“玉大人,你說我怎么就攤上這事⌒鸬椋” “怎么了颖医?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長裆蒸。 經(jīng)常有香客問我熔萧,道長,這世上最難降的妖魔是什么僚祷? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任哪痰,我火速辦了婚禮,結(jié)果婚禮上久妆,老公的妹妹穿的比我還像新娘。我一直安慰自己跷睦,他們只是感情好筷弦,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抑诸,像睡著了一般烂琴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜕乡,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天奸绷,我揣著相機與錄音,去河邊找鬼层玲。 笑死号醉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的辛块。 我是一名探鬼主播畔派,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼润绵!你這毒婦竟也來了线椰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤尘盼,失蹤者是張志新(化名)和其女友劉穎憨愉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卿捎,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡配紫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了娇澎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笨蚁。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出括细,到底是詐尸還是另有隱情伪很,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布奋单,位于F島的核電站锉试,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏览濒。R本人自食惡果不足惜呆盖,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贷笛。 院中可真熱鬧应又,春花似錦、人聲如沸乏苦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汇荐。三九已至洞就,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掀淘,已是汗流浹背旬蟋。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留革娄,地道東北人倾贰。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像拦惋,于是被迫代替她去往敵國和親躁染。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

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