在我們實際開發中,前端大部分時候都是需要等待后端的數據接口,所以會自己mock 數據也是非常必要的。
所謂的mock數據,就是在本地建立一個自己數據庫,然后訪問這些模擬數據,使得開發過程中可以看到與調用真是的數據一樣的效果。使用mock,就可以提高整個項目的開發效率(不需要停下項目的開發等待后端的數據接口)。當開發完成后我們也只需要將模擬的地址localhost:8888,改成真實的地址就可以了。
mock數據需要的json-server
使用mock數據需要開啟一個服務來作為數據服務器,我們這兒使用的是json-server。
$ npm i -g json-server --D //測試是否安裝成功 $ json-server -v
新建mock數據
在項目的根目錄新建一個mock目錄,用來存放我們需要使用的數據。我的項目中主要使用了三個數據:goods.js、rating.js、seller.js,還需要一個mock.js作為數據的出口文件(這個文件自定義,名字可以隨便)。

在數據文件goods.js、rating.js、seller.js里面添加數據:
module.exports = {
"name": "粥品香坊(回龍觀)",
"description": "蜂鳥專送",
"deliveryTime": 38,
"score": 4.2,
"serviceScore": 4.1,
"foodScore": 4.3,
"rankRate": 69.2,
"minPrice": 20,
"deliveryPrice": 4,
"ratingCount": 24,
"sellCount": 90
}
出口文件mock.js的代碼:
//引入數據模塊調用
var goods = require('./goods.js');
var ratings = require('./ratings.js');
var seller = require('./seller.js');
//暴露一個返回值
module.exports = function(){
return {
"goods": goods,
"ratings": ratings,
"seller": seller
}
}
webpack.config.js的配置:(這兒只是mock數據的配置,完整項目還是需要配完整的,要看完整的可以看前面寫文章)
module.exports = {
devServer:{
proxy:{
'/rest/*':{
target: 'http://localhost:8888',
secure:false,
pathRewrite: {
'^/rest': ''
}
}
}
rest:自定義的,只是用來訪問數據的參數,由於mvvm框架是遵循RESTFUL模式的,所以這兒用的rest。
訪問地址時url: /rest/list 就相當於 localhost:8888/list
axios.get('/res/list') = axios.get('locahost:8888/list')
開啟mock數據服務
開發服務后,就可以在瀏覽器里面訪問數據了
//進入項目根目錄 $ cd myApp //開啟服務 $ json-server mock/mock.js --watch --port 8888

