您好,登錄后才能下訂單哦!
本文介紹了vue 運用mock數(shù)據(jù)的示例代碼,分享給大家,具體如下:
初始化你的項目
話不用啰嗦,首先初始化你的項目,最簡單的就是使用vue-cli啦
vue init webpack
引入mock.js
安裝 mockjs
npm install --save-dev mockjs
引入到Vue原型上,方便使用
import mockjs from 'mockjs' Vue.prototype.$mock = Vue.$mock = mockjs.mock
以上引入到Vue原型上,可以使用 this.$mock直接產(chǎn)生mock數(shù)據(jù)
請看這里Vue.prototype
請看這里mockjs
在項目開發(fā)中,前后臺分離,做了假數(shù)據(jù),項目使用vue2.0重構(gòu),后臺也推到重來了,為了不耽誤開發(fā)進(jìn)程,我做了虛擬的數(shù)據(jù)請求,使用vue-cli腳手架搭建的項目文件中dev-server搭建虛擬api請求,訪問自己mock的假數(shù)據(jù)虛擬請求后臺的模式,具體做法如下
在build/dev-server.js文件中
在var app = express()這個實例的下面添加如下代碼
// 本地json-server服務(wù)器搭建代碼 // 引入數(shù)據(jù)庫文件 var appData = require('../mock.json') // 引入數(shù)據(jù)庫 var getBoardList = appData.getBoardList var apiRoutes = express.Router() // 使用api的方法來創(chuàng)建連接時候的請求 apiRoutes.post('/getBoardList', function (req, res) { res.json({ errno: 0 , data: getBoardList }); }) // 調(diào)用api app.use('/api', apiRoutes)
其中 appData 依賴的mock.json文件是自己mock的假數(shù)據(jù)的文件,根據(jù)前后臺需求自己mock或者使用mock.js制作假數(shù)據(jù)
getBoardList是一個接口,var getBoardList = appData.getBoardList 就是在appData定義了這一個接口數(shù)據(jù)。
var apiRoutes = express.Router() 是創(chuàng)建了一個api的路由,apiRoutes.post是創(chuàng)建一個post接口,這個post接口有一個req和一個res參數(shù),分別執(zhí)行請求和返回,當(dāng)返回的時候會給我們一個json,這個json包括一個狀態(tài)碼errno和返回的數(shù)據(jù)data(data指向了接口數(shù)據(jù)getBoardList)。
然后當(dāng)我們調(diào)用api的時候app.use('/api', apiRoutes),就能正常使用這個服務(wù)了
這里我使用了vue2.0推薦的axios請求數(shù)據(jù),代碼如下
this.$http.post('/api/getBoardList') .then(function (response) { console.log(response.data.data); alert('成功了'); }) .catch(function (code) { alert('失敗了'); console.log(code); });
打開瀏覽器的控制臺的network,你會發(fā)現(xiàn)已經(jīng)產(chǎn)生了網(wǎng)絡(luò)請求
同時,數(shù)據(jù)也愉快的返回回來了:
如果想添加接口數(shù)據(jù),繼續(xù)在dev-server.js中添加就可以了,post,get等等都可以。
注意,每次更改dev-server.js后需要重新npm run dev啟動項目
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。