Vue3中使用mock.js模擬數(shù)據(jù)的示例詳解
mock.js是什么
前后端同時(shí)開發(fā)的時(shí)候,后端接口數(shù)據(jù)沒有出來,前端可以使用mock模擬假數(shù)據(jù),進(jìn)行頁面的開發(fā);
使用mock的好處
使用mockjs模擬后端接口,可隨機(jī)生成所需數(shù)據(jù),模擬對(duì)數(shù)據(jù)的增刪改查。
數(shù)據(jù)類型豐富,支持生成隨機(jī)的文本、數(shù)字、布爾值、日期、郵箱、鏈接、圖片、顏色等。
攔截Ajax請(qǐng)求不需要修改既有代碼就可以攔截,返回模擬的響應(yīng)數(shù)據(jù)。
怎么使用mock模擬數(shù)據(jù)
(首先你需要有一個(gè)模擬的接口地址url)
1. 確保你在項(xiàng)目中已經(jīng)安裝了axios和mock
npm install -S axios npm install -D mockjs
2. 在項(xiàng)目的src文件夾下新建一個(gè)文件夾用來存放mock模擬的數(shù)據(jù)
一般我們放在將mock模擬的數(shù)據(jù)( /src/mock/index.js)這個(gè)文件中,這里以此為例。

//這里是我使用本地的服務(wù)器商品接口地址模擬的數(shù)據(jù)
//在 src/mock/index.js 這個(gè)文件中
import { mock } from 'mockjs'
let data = mock({
"data|6": [ //生成6條數(shù)據(jù) 數(shù)組
{
"shopId|+1": 1,//生成商品id,自增1
"shopMsg": "@ctitle(10)", //生成商品信息,長(zhǎng)度為10個(gè)漢字
"shopName": "@cname",//生成商品名 , 都是中國(guó)人的名字
"shopTel": /^1(5|3|7|8)[0-9]{9}$/,//生成隨機(jī)電話號(hào)
"shopAddress": "@county(true)", //隨機(jī)生成地址
"shopStar|1-5": "★", //隨機(jī)生成1-5個(gè)星星
"salesVolume|30-1000": 30, //隨機(jī)生成商品價(jià)格 在30-1000之間
"shopLogo": "@Image('100x40','#c33', '#ffffff','小北鼻')", //生成隨機(jī)圖片,大小/背景色/字體顏色/文字信息
"food|2": [ //每個(gè)商品中再隨機(jī)生成2個(gè)food
{
"foodName": "@cname", //food的名字
"foodPic": "@Image('100x40','#c33', '#ffffff','小可愛')",//生成隨機(jī)圖片,大小/背景色/字體顏色/文字信息
"foodPrice|1-100": 20,//生成1-100的隨機(jī)數(shù)
"aname|2": [
{
"aname": "@cname",
"aprice|30-60": 20
}
]
}
]
}
]
})
mock(/goods\/list/, 'get', () => { //三個(gè)參數(shù)。第一個(gè):請(qǐng)求路徑,第二個(gè):請(qǐng)求方式post/get,第三個(gè):回調(diào),返回值
return data
})
3.模擬完數(shù)據(jù)后,在入口主文件 main.js 中引入這個(gè)模擬數(shù)據(jù)的文件
//main.js import "./mock/index.js"
4.在需要請(qǐng)求該接口模擬數(shù)據(jù)頁面中,可以直接進(jìn)行axios請(qǐng)求
(這里為了使大家可以看懂,就不封裝axios了,直接使用axios對(duì)接口進(jìn)行數(shù)據(jù)請(qǐng)求了)
<script setup>
import { onMounted } from "vue";
import axios from "axios"
function myrequest() {
axios.get("http://localhost:8080/goods/list").then((res) => {
console.log("這是我發(fā)送的請(qǐng)求");
console.log(res)
})
}
onMounted(() => {
myrequest();
})
</script>
<template></template>
<style scoped></style>
5.打開控制臺(tái)查看我們請(qǐng)求到的模擬數(shù)據(jù)

注意事項(xiàng):
- 記得修改為你的接口地址;
- 注意 你寫的請(qǐng)求方式 與 你的接口文檔要求的請(qǐng)求方式 是否保持一致;
- 注意你模擬數(shù)據(jù)的請(qǐng)求接口是否打開,服務(wù)器是否啟動(dòng);
我在本文中所使用的接口文檔示例:

引申:
常用的mock占位符 解釋:
- @cname 中文人名
- @id 身份證id
- @title 中文title
- @city 中文城市
- @ip ip 地址
- @email email
- @url url地址
- @csentence(1,5) 生成1到5個(gè)字的中文句子
- @cparagraph 生成中文段落
- @string(11) 輸出11 個(gè)字符長(zhǎng)度的字符串
- @float(0,10) 0 到 10 的浮點(diǎn)數(shù)
- @integer(60,70) 60 到 70 之間的整數(shù)
- @boolean boolean 類型 true,false
到此這篇關(guān)于Vue3中使用mock.js模擬數(shù)據(jù)的示例詳解的文章就介紹到這了,更多相關(guān)Vue3 mock.js模擬數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3中v-if和v-for優(yōu)先級(jí)實(shí)例詳解
Vue.js中使用最多的兩個(gè)指令就是v-if和v-for,下面這篇文章主要給大家介紹了關(guān)于Vue3中v-if和v-for優(yōu)先級(jí)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
Vue項(xiàng)目打包后可修改基礎(chǔ)接口地址配置的具體操作
vue項(xiàng)目打包過后發(fā)現(xiàn)地址錯(cuò)了或者發(fā)布到別的服務(wù)器發(fā)現(xiàn)請(qǐng)求的地址不對(duì),每次都要去重新打包,太浪費(fèi)時(shí)間,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包后可修改基礎(chǔ)接口地址配置的具體操作,需要的朋友可以參考下2022-08-08
vue項(xiàng)目配置國(guó)際化$t('')的介紹和用法示例
這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目配置國(guó)際化?$t('')的介紹和用法的相關(guān)資料,多語言和國(guó)際化現(xiàn)在已經(jīng)成為一個(gè)網(wǎng)站或應(yīng)用的必要功能之一,Vue作為一款流行的前端框架,在這方面也有著靈活的解決方案,需要的朋友可以參考下2023-09-09
vue監(jiān)聽滾動(dòng)事件實(shí)現(xiàn)滾動(dòng)監(jiān)聽
本文主要介紹了vue監(jiān)聽滾動(dòng)事件實(shí)現(xiàn)滾動(dòng)監(jiān)聽的相關(guān)資料。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04
vue3實(shí)現(xiàn)國(guó)際化的過程與遇到的問題詳解
像很多大型的網(wǎng)址,特別是跨國(guó)際等公司網(wǎng)頁,訪問來自世界各地用戶,所以網(wǎng)頁的國(guó)際化極其重要的需求,這篇文章主要給大家介紹了關(guān)于vue3實(shí)現(xiàn)國(guó)際化的過程與遇到的問題的相關(guān)資料,需要的朋友可以參考下2022-05-05

