当前位置: 首页 > news >正文

Mock.js虚拟接口

Vue3中使用Mock.js虚拟接口数据

一、创建项目

pnpm创建vite的项目,通过 PNPM来简化依赖管理。若还没有安装 PNPM,可以通过 npm来安装:

  1. 安装 PNPM
 npm install -g pnpm
   //使用国内镜像加速
 pnpm add -g pnpm@latest
 pnpm config set registry http://registry.npmmirror.com 

2.创建 Vite 项目

pnpm create vite@latest my-vite-app --template vue

my-vite-app 是项目名称,–template vue 指定了使用 vue模板。

  1. 安装依赖
pnpm install
  1. 启动项目
pnpm  dev

二、安装axios

pnpm install axios -g

在main.js中引入axios

import axios from 'axios'
...
app.use(axios)
...

三、安装mockjs

pnpm install mockjs --save

创建Mock数据文件。在项目的根目录下,创建mock文件夹,并在该文件夹下创建index.js文件。在index.js中,编写Mock数据。

// mock/index.js
import Mock from 'mockjs'
// 使用Mock.js模拟接口数据
Mock.mock('/api/users', 'get', {
    'list|10': [{
        'id|+1': 1,
        'name': '@cname',
        'gender|1': ['男', '女'],
        'age|18-60': 1,
        'email': '@EMAIL',
        'avatar': "@image('50x50', '#50B347', '#FFF','png','Mock.js')"//随机生成图片
    }]
})

​ 代码中使用Mock.mock方法来模拟一个GET请求的接口/api/users。接口返回一个包含10个用户信息的数组。每个用户信息包括id、name、age、gender、email和avatar字段。其中,id字段自增,name字段使用随机的中文名字,age字段在18到60之间随机生成,gender字段随机选择男或女,email字段使用随机的邮箱地址,avatar字段使用随机的50x50的图片。

​ 在src/main.js中引入mock/index.js,Mock数据会在项目启动时被加载。

import './mock'

四、Vue组件中使用Mock数据。在src/components/MockTest.vue组件中,通过发送一个GET请求来获取Mock数据。

<template>
  <div class="contain">
    <h2>人员信息列表</h2>
    <table>
      <thead>
        <tr>
          <th>序号</th>
          <th>姓名</th>
          <th>照片</th>
          <th>性别</th>
          <th>年龄</th>
          <th>邮箱</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(user, index) in userList" :key="index">
          <td>{{ user.id }}</td>
          <td>{{ user.name }}</td>
          <td><img :src=user.avatar></td>
          <td>{{ user.gender }}</td>
          <td>{{ user.age }}</td>
          <td>{{ user.email }}</td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script setup>
import { onMounted, ref } from "vue";
import axios from "axios";
const userList = ref([]);
onMounted(() => { fetchUsers(); })
const fetchUsers = () => {
  // 发送GET请求获取Mock数据
  axios.get('/api/users').then(response => {
    userList.value = response.data.list
  })
}
</script>

<style>
* {
  margin: 0;
  padding: 0;
}

.contain {
  width: 90%;
  margin: 10px auto;
}
table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 15px;
}
th {
  height: 35px;
  line-height: 35px;
  text-align: center;
  background: #F5F5F5;
}
td {
  height: 50px;
  padding: 5px 10px;
  text-align: center;
}
td,th {
  border: 1px solid #DCDCDC;
}
</style>

​ 代码中使用了Vue的v-for指令来遍历用户列表,并使用v-bind指令来绑定用户信息的属性。在组件的onMounted生命周期钩子中,调用fetchUsers方法来发送GET请求获取Mock数据,并将数据赋值给userList属性。

在src/main.js中引入MockTest.vue

import App from './components/MockTest.vue';

五.运行Vue项目。

pnpm dev

在这里插入图片描述

http://www.dtcms.com/a/109253.html

相关文章:

  • 蓝桥杯15届B组题解第二场
  • 记一次防火墙策略设置不当导致连接异常
  • 2.4路径问题专题:LeeCode 931.下降路径最小和
  • Shiro学习(四):Shiro对Session的处理和缓存
  • MyBatis 动态SQL 详解!
  • C# 从代码创建选型卡+表格
  • 用nodejs连接mongodb数据库对标题和内容的全文本搜索,mogogdb对文档的全文本索引的设置以及用node-rs/jieba对标题和内容的分词
  • Git Restore 命令详解与实用示例
  • leecode第18天
  • 代码拟有感
  • 跟我学C++中级篇——In-Place Construction 和placement new
  • React-router v7 第二章(路由模式)
  • Vant 上传图片闪动问题的原因与解决方案
  • Shell脚本编程之大括号扩展
  • Spring 核心技术解析【纯干货版】- XX:Spring 测试模块 Spring-Test 模块精讲
  • 【文献研究】铝对热冲压加热过程中锌氧化的影响
  • 【C++ SIMD】第3篇:数据对齐与跨步访问(Windows/VS2022版)——以AVX为例
  • Hadoop集群---运维管理和技巧
  • 【Kafka基础】单机安装与配置指南,从零搭建环境
  • NodeJS--NPM介绍使用
  • 训练或微调以生成新组合结构
  • Leetcode 927 -- 思维
  • Win10定时任务计划无法显示要执行的EXE任务程序界面,问题解决办法
  • 什么是检索增强生成(RAG)
  • 7-3 逆序的三位数
  • PyTorch 深度学习实战(33):联邦学习与隐私保护
  • CROSS JOIN第一个表中的每一行与第二个表中的每一行组合
  • 商城系统:电商时代的核心驱动力
  • Cribl 修改字段rename
  • Express学习笔记(四)——同源和跨域详解