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

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

相关推荐
海石1 天前
微信小程序开发01:XR-FRAME的快速上手
前端·增强现实·trae
叶梅树1 天前
DocsJS npmjs 自动化发布复盘(Trusted Publisher)
前端·npm
喵叔哟1 天前
9. 【Blazor全栈开发实战指南】--Blazor调用JavaScript
开发语言·javascript·udp
我命由我123451 天前
Element Plus - Form 的 resetField 方法观察记录
开发语言·前端·javascript·vue.js·html·html5·js
清空mega1 天前
《Vue3 项目结构详解:components、views、assets、router、stores 到底该怎么理解?》
前端·javascript·vue.js
雨雨雨雨雨别下啦1 天前
Vue——小白也能学!Day6
前端·javascript·vue.js
XPoet1 天前
AI 编程工程化:Hook——AI 每次操作前后的自动检查站
前端·后端·ai编程
難釋懷1 天前
RedisTemplate配置读写分离
前端·bootstrap·html
冰暮流星1 天前
javascript如何实现删除数组里面的重复元素
开发语言·前端·javascript
网络点点滴1 天前
透传属性$attrs
前端·javascript·vue.js