前端mock数据

前端mock数据在实际的项目研发过程中 我们经常会遇到如下的尴尬场景 前端开发依赖于后端接口数据 但是后台人员不足或者无法立即到位 前端迟迟不能开工 或者前端小伙子自己参照 ui 设计图 完成对应的静态页面 没有数据交互 待后台人员到位 再进行二次开发 协助完成接口对接 1 什么是 mock 数据 前后端同时开发的时候 后端接口数据没有出来 前端可以 mock 假数据 模拟开发 2 mock 数据的优势 A 团队可以并行工作有了 Mock 前后端人员只需要定义好接口文档就可以开始并行工作 互不影响 只在最后的联调阶段往来密切

1.什么是mock数据

前后端同时开发的时候,后端接口数据没有出来,前端可以mock假数据,模拟开发;

2.mock数据的优势?

A 团队可以并行工作

有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决;测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;不会出现一个团队等待另一个团队的情况。这样的话,开发自测阶段就可以及早开展,从而发现缺陷的时机也提前了,有利于整个产品质量以及进度的保证。

B 开启TDD模式,即测试驱动开发

C 隔离系统

假如我们需要调用一个post请求,为了获得某个响应,来看当前系统是否能正确处理返回的“响应”,但是这个post请求会造成数据库中数据的污染,那么就可以充分利用Mock,构造一个虚拟的post请求,我们给他指定返回就好了

D 可以用来演示

假如我们需要创建一个演示程序,并且做了简单的UI,那么在完全没有开发后端服务的情况下,也可以进行演示。说到演示了,假如你已经做好了一个系统,并且需要给客户进行演示,但是里面有些真实数据并不想让用户看到,那么同样,你可以用Mock接口把这些敏感信息接口全部替换。

E 测试覆盖度

假如有一个接口,有100个不同类型的返回,我们需要测试它在不同返回下,系统是否能够正常响应,但是有些返回在正常情况下基本不会发生,难道你要千方百计地给系统做各种手脚让他返回以便测试吗?比如,我们需要测试在当接口发生500错误的时候,app是否崩溃,别告诉我你一定要给服务端代码做些手脚让他返回500 。。。而使用mock,这一切就都好办了,想要什么返回就模拟什么返回,妈妈再也不用担心我的测试覆盖度了

3.mock数据的几种方式?

第一种

直接在页面写死数据,后期等接口来了,再改成动态的; 哈哈哈这是最简单的,也是最笨的,所以小型的项目,不出5个页面的可以解决,或是每个页面的数据很少的可以解决,但是不推荐,后期太麻烦

第二种

在js里直接声明变量,并给变量赋值,在逻辑脚本中使用,并渲染到dom;

第三种

将模拟数据编辑成json数据或者是零碎的js脚本中,通过请求,取回数据,并进行业务逻辑处理,渲染到dom

第四种 最理想的

  • 前后台在需求分解之后,一起定义好接口api,包含:请求url(项目前缀+具体的接口名称)、请求方式、请求参数、数据响应;
  • 前端研发人员根据接口约定,模拟请求返回对应的数据,完成对应的交互;
  • 后台人员根据接口约定,完成对应的api,并完成对应的自测;
  • 待后台人员交付接口api后,前端人员直接修改接口项目前缀,切换到对应的环境,即可进入项目提测。

目录结构

在这里插入图片描述

最新的vue里dev-server.js被替换成了webpack-dev-conf.js

在模拟后台数据的时候直接在webpack-dev-conf.js文件中修改

第一步,在const portfinder = require(‘portfinder’)后添加

//第一步 const express = require(‘express’) const app = express()//请求server var appDatalu = require(’…/lulutest.json’)//加载本地数据文件 //获取对应的本地数据 //拿到路由 var apiRoutes = express.Router() app.use(/api’, apiRoutes)//通过路由请求数据 

第二步:找到devServer,在里面加上before()方法

devServer: { 
    clientLogLevel: ‘warning’, historyApiFallback: true, hot: true, compress: true, host: HOST || config.dev.host, port: PORT || config.dev.port, open: config.dev.autoOpenBrowser, overlay: config.dev.errorOverlay ? { 
    warnings: false, errors: true } : false, publicPath: config.dev.assetsPublicPath, proxy: config.dev.proxyTable, quiet: true, // necessary for FriendlyErrorsPlugin watchOptions: { 
    poll: config.dev.poll, }, //第二步找到devServer,在里面添加 before(app) { 
    app.get(/api/lulu’, (req, res) => { 
    res.json({ 
    errno: 0, data: appDatalu }) }) } } 

提供一个lulutest.json数据

{ 
    "id": 2, "title": "去哪网实习计划", "skillRequirements": "你为什么穿品如的衣服", "imageAddress": null, "skills": [ "Java", "Python" ] } 

PS:

所有的修改配置都需要重新启动运行命令的:npm run dev才能生效(很重要,否则无法请求到数据)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218299.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午7:35
下一篇 2026年3月18日 上午7:35


相关推荐

  • 滨江涌起“养虾”热潮!光合组织OpenClaw龙虾局杭州场,安全与效率双在线

    滨江涌起“养虾”热潮!光合组织OpenClaw龙虾局杭州场,安全与效率双在线

    2026年3月14日
    2
  • JMeter 最大并发数

    JMeter 最大并发数最近接触到一个问题 JMeter 的最大并发是多少 特查过资料记录一番 单台机器的话 看机器配置 一般受内存和 cpu 影响 比如我目前的电脑 很久以前的组装机 运存 8G 实际可用 7 81G 处理器 Interpentium 30GHZ 跑到 200 并发的时候已经出现 JMeter 报错了 网上有的人说可以跑到 500 可能这就是差距 使用 JMeter 的集群模式提高并

    2026年3月18日
    2
  • Lucene4 TokenStream「建议收藏」

    Lucene4 TokenStream「建议收藏」packageorg.apache.lucene.analysis;/**LicensedtotheApacheSoftwareFoundation(ASF)underoneormore*contributorlicenseagreements.SeetheNOTICEfiledistributedwith*thisworkfor

    2022年7月22日
    15
  • (图文详细)最通俗易懂的CSS 浮动float属性详解

    (图文详细)最通俗易懂的CSS 浮动float属性详解图文详细 最通俗易懂的 CSS 浮动 float 属性详解声明 本文属于搬砖大神的文章到自己的博客上 原文地址为 https www cnblogs com iyangyuan archive 2013 03 27 2983813 html 很早以前就接触过 CSS 但对于浮动始终非常迷惑 可能是自身理解能力差 也可能是没能遇到一篇通俗的教程 前些天小菜终于搞懂了浮动的基本原理 迫不及待的

    2026年3月20日
    2
  • vhr环境配置

    vhr环境配置vhr 环境配置笔记 windows 需要安装 redis rabbitmq 简单附下载连接及安装地址 一 redis 安装比较简单 此处不做讲解 记录一下启动及设置查询密码 redis 启动 通过指定配置文件来启动 cmd 切换到 redis 安装目录 执行 redis server exeredis windows conf 修改密码 在 redis 安装目录下 找到 redis conf redis

    2025年7月23日
    4
  • 物理讨论题复习

    物理讨论题复习请简要回答避雷针的工作原理?避雷针由于曲率半径小,电荷面密度大,从而产生尖端放电现象,导致自身与带电云层形成回路。导致自身电荷放出从而不会被雷击中,当带电云层密度过大,避雷针通过接地把电引下大地“分子电流假说“是谁提出的?请解释“分子电流”。安培。在原子、分子等物质微粒内部,存在着一种环形电流—-分子电流。分子电流使每个物质都成为微小的磁体,他的两侧相当于两个磁极请解释”磁偶极子“。磁偶极子是类比电偶极子而建立的物理模型。具有等值异号的两个点磁荷构成的系统称为磁偶极子。磁偶极子的物理

    2025年6月29日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号