MokeJs使用实例

文章目录

MokeJs使用实例

介绍



使用

安装
cpp 复制代码
npm install mockjs --save-dev  
# 或者  
yarn add mockjs --dev
配置文件

在你的项目中创建一个专门用于配置 Mock 的文件,例如 mock/index.js。在这个文件中,你可以定义你的 Mock 数据和请求规则

cpp 复制代码
// mock/index.js  
import Mock from 'mockjs';  

  
// 定义一个简单的 GET 请求的 Mock,返回一个用户对象  
Mock.mock('/user', 'get', {    
  status: 200, // 通常使用 status 而不是 code,但取决于你的后端 API 约定  
  message: 'success',    
  data: {    
    'username': '@cname', // 使用 Mock.js 的随机数据生成器来生成一个中文名字  
    'age|18-60': 1 // 生成一个 18 到 60 之间的随机年龄  
    // 你可以在这里添加更多的用户属性  
  }    
});
导入配置到main.js

在你的 Vue 3 项目的入口文件(通常是 main.js 或 main.ts)中引入你创建的 Mock 配置文件。

cpp 复制代码
import './assets/main.css'

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import axios from 'axios'
import store from './store'
import './mock'; 

// axios.defaults.baseURL="http://localhost:8088"
const app = createApp(App)

app.config.globalProperties.$http = axios

app.use(store)
app.use(router)
app.use(ElementPlus)
app.mount('#app')
使用 axios 发送网络请求测试(如果不会axios,具体可以见上篇文章axios)

axios教程

cpp 复制代码
<template>
    <div>
        <h1>{{ title }}</h1>
    </div>
</template>

<script>
import axios from 'axios';
import { onMounted } from 'vue';
export default {
    name:"Movie",
    props:["title"],
    data:function name(params) {
        return {
           
        }
    },
    created:function(){
        console.log("movie is creating")
        axios.get("/user").then(function(res){
            console.log(res)
        })
    }
}


</script>

这里发送一个向本地 user 的地址,也就是我们的前端服务器

下面的mock也只要接受这样一个user接口的请求就好,其实默认就是我们的前端服务器,在我这里就是

启动项目后

启动示例

可以看见数据被接受到了

最后值得注意一点,在浏览器的网络请求中,并不会出现。

当使用 Mock.js 拦截请求时,这些请求实际上是在前端被拦截并模拟响应的,而并没有真正发送到服务器。因此,这些被拦截的请求不会在浏览器的开发者工具中的"网络"(Network)标签页上显示出来,因为浏览器并没有真正发出这些请求。

具体来说,当你使用 Mock.js 定义一个 Mock 请求时,你指定了一个 URL 模式、请求方法(如 GET、POST)以及一个返回的数据模板。当前端代码尝试发起一个与这个 URL 模式和请求方法相匹配的请求时,Mock.js 会捕获这个请求,并根据你定义的数据模板生成一个模拟的响应,然后直接返回给前端代码,而不会将这个请求发送到服务器。

因此,在浏览器的开发者工具中,你不会看到这些被 Mock.js 拦截的请求的记录。相反,你会看到前端代码接收到了 Mock.js 返回的模拟响应,并据此进行后续的处理。

需要注意的是,虽然 Mock.js 非常适合在开发阶段使用来模拟后端接口和数据,但在生产环境中应该禁用 Mock.js,以确保前端代码能够与真实的后端服务进行交互。

所以我们可以看见控制台能够有数据打印,但是浏览器的请求栏是空的

相关推荐
小poop29 分钟前
CSS 基础与实战:从入门到精通网页美化
前端
Csvn2 小时前
运行时性能
前端
Never_every993 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck3 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖4 小时前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
欣欣之王来了5 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒5 小时前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师5 小时前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端
paopaokaka_luck5 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
特立独行的猫A6 小时前
10 MB 的桌面 AI 客户端:用仓颉 + 系统 WebView 替代 Electron
前端·harmonyos