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,以确保前端代码能够与真实的后端服务进行交互。

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

相关推荐
RFCEO2 分钟前
前端编程 课程十四、:CSS核心基础2:选择器优先级 + 伪类选择器(解决冲突+交互效果)
前端·css·交互·css选择器优先级判断规则详解·css important使用·css链接伪类lvha顺序·实现悬浮交互效果
web打印社区4 分钟前
前端实现浏览器预览打印:从原生方案到专业工具
前端·javascript·vue.js·electron
yuezhilangniao8 分钟前
# 告别乱码:用FastAPI特性与Next.js打造类型安全的API通信
javascript·安全·fastapi
jiayong2316 分钟前
Vue2 与 Vue3 生态系统及工程化对比 - 面试宝典
vue.js·面试·职场和发展
徐同保18 分钟前
vue.config.ts配置代理解决跨域,配置开发环境开启source-map
前端·javascript·vue.js
Hexene...35 分钟前
【前端Vue】npm install时根据新的状态重新引入实际用到的包,不引入未使用到的
前端·vue.js·npm
2301_7806698641 分钟前
Vue(入门配置、常用指令)、Ajax、Axios
前端·vue.js·ajax·javaweb
码农幻想梦41 分钟前
Vue3入门到实战【尚硅谷】
前端·vue
hudou_k43 分钟前
利用WebNaket实现Web应用直接访问硬件设备
前端
吃茄子的猫43 分钟前
若依框架根据当前登录人信息,显示不同的静态公司logo
前端·vue