vue項目中使用mock.js模擬數據

創(chuàng)建

1、在vue項目的根目錄下創(chuàng)建mock文件。

2、下載依賴

npm install mockjs --save? ? ?//下載mock.js

npm install json5 --save? ? //安裝json5依賴

使用

1.在mock文件夾下創(chuàng)建index.js(入口文件)和json文件夾(用于存放模擬的數據)

2.在index.js引入相應模塊,做讀取模擬數據返回給前端

const?fs?=?require('fs')?//引入fs模塊

const?path?=?require('path')?//引入path模塊

const?json5?=?require('json5')?//引入json5模塊

const?Mock?=?require('mockjs');?//引入mockjs

//公共函數,用來讀取要模擬的數據模板

function?getJSON(filepath)?{

??//讀取文件

??var?json?=?fs.readFileSync(path.join(__dirname,?filepath),?'utf-8')

??return?json5.parse(json)?//json5格式化

}

module.exports?=?function?(app)?{

??//設置請求路徑

??app.get('/user/list',?(req,?res)?=>?{

????console.log(req,?query)?//前端請求傳過來的值

????var?json?=?getJSON('./JSON/userinfo.json5'); //傳入路徑

????res.json(Mock.mock(json))

??})

}

3. json文件夾下的userinfo.json5。? 不會mock.js的可自行去mock.js查看官方文檔。

{??

??????'list|5':[{

??????????id:'@id',

??????????name:'@cname',

??????????brithday:'@date',

??????????address:'@county(true)',

??????????createtime:'@datetime',

?????????//?Random.image(?size,?background,?foreground,?text?)

??????????aratar:"@image('200x200',?'#50B347',?'#FFF',?'Mock.js')"

??????}]

}

攔截請求配置(最關鍵的一步)

根目錄下build/webpack.dev.conf.js/中配置

攔截請求,將請求轉發(fā)到mock文件夾下的index.js文件

在? devServer下配置????before:require('../mock/index.js'),


請求

baseUrl為vue項目的端口 默認一般都是? ?http://localhost:8080,

mounted(){

? ? ? ? ? ? axios.get(baseUrl+'/user/list').then(res=>{

? ? ? ? ? ? ? ? ? ? ? ? ?console.log(res)

? ? ? ? ? ?})

??}



大功告成

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容