mockjs+json-server模拟百万条数据

简介: mockjs+json-server模拟百万条数据

前言

hello world 欢迎来到前端的世界


😜当前文章系列专栏:前端

🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹

💖感谢大家支持!您的观看就是作者创作的动力

场景

我们在日常开发过程中,前端开发的速度的远远大于后端的。所以我们可以看到很多互联网公司中都是一个前端工程师搭配两到三个后端工程师


由此我们经常遇到的一个问题,前端在开发过程中所有的页面架构,样式,交互全部都完成了,但是就是差后端的接口请求数据了,但是后端因为项目进程问题,一直无法开工,所以我们就可以使用Mock.js + json-server的方式 来模拟数据


前置操作


本机配置:node:16.17.0,window10,mock.js:1.1.0,json-server:0.17.3 ,axios:1.5.0 ,uuid:9.0.0


新建文件夹,进入文件夹内部,进入终端



进入终端



安装json-server

npm i json-server


安装Mock.js

npm i mockjs

安装axios或者Ajax(作者用的是axios)

npm i axios

mock.js文件编辑

// 导入Mock.js赋值给Mock
const Mock = require("mockjs");
// 导入axios
const axios = require("axios");
// 接收Mock.Random
// Mock.Random用于生成随机的模拟数据。它提供了一系列方法,可以根据不同的数据类型生成不同种类的随机数据。
const Random = Mock.Random;
// 生成数据的方法
function sendData() {
    try {
        // 定义data对象
        let data = { user: [] };
        // 随机生成数据的数量
        let num = 1;
        data.user.push({
            // 随机生成id数据
            id: Random.integer(1, 1000),
            // 随机生成name数据
            name: Random.cname(),
            // 随机生成phone数据
            email: Random.email(),
            // 随机生成ip数据
            ip: Random.ip(),
            // 随机生成date数据
            date: Random.date()
        });
        // 添加数据
        axios.post("http://localhost:3000/users", ...data.user);
        return "Success";
    } catch (err) {
        // 返回错误信息
        return err;
    }
}
// 打印结果
console.log(sendData())

编辑json-server文件夹

这里我们需要执行

json-server --watch json文件名.json


例如


{
  "users": [
  ]
}


添加百万条虚拟数据

npm i uuid


const Mock = require("mockjs");
const axios = require("axios");
const uuid = require("uuid");
const Random = Mock.Random;
// 添加指定数量的数据
async function addData(num) {
  try {
    const data = { user: [] };
    for (let i = 0; i < num; i++) {
      data.user.push({
        id: uuid.v4(), // 使用 uuid 生成唯一 id
        name: Random.cname(),
        email: Random.email(),
        ip: Random.ip(),
        date: Random.date()
      });
    }
    await axios.post("http://localhost:3000/users", data); // 发送 POST 请求添加数据
    console.log(`已添加 ${num} 条数据`);
  } catch (error) {
    console.error(error);
  }
}
// 分批添加数据,每批次添加部分数据并休眠一定时间
async function addBigData(total, batchSize, sleepTime) {
  let count = 0;
  while (count < total) {
    const num = Math.min(batchSize, total - count); // 计算本次需要添加的数据量
    await addData(num); // 添加指定数量的数据
    count += num; // 更新当前已添加数据量
    await sleep(sleepTime); // 休眠指定时间
  }
  console.log(`数据添加完成,总共添加 ${total} 条数据`);
}
// 休眠指定的毫秒数
function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
// 添加 1000000 条数据,每次添加 1000 条并休眠 1 秒
addBigData(1000000, 1000, 1000);

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力


目录
相关文章
|
2月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
44 1
|
18天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
3天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
7天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
1天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
22天前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
在Java中处理JSON数据:Jackson与Gson库比较
|
1月前
|
JSON JavaScript API
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
|
1月前
|
JSON 前端开发 Java
【Spring】“请求“ 之传递 JSON 数据
【Spring】“请求“ 之传递 JSON 数据
84 2
|
2月前
|
存储 JSON Go
在Gin框架中优雅地处理HTTP请求体中的JSON数据
在Gin框架中优雅地处理HTTP请求体中的JSON数据
|
2月前
|
JSON JavaScript 数据格式
vue写入json数据到文本中+vue引入cdn的用法
vue写入json数据到文本中+vue引入cdn的用法
53 10