使用 Chrome Overrides 提高前端开发效率

前言

Chrome 浏览器的 Overrides 功能,已经发布有一段时间了,因为一直在用 Ajax Modifier 的缘故,所以并没有使用过,但是最近在使用的时候,发现 Overrides 在对请求头 Headers 的修改上,比 Ajax Modifier 更加友好且方便,并且使用后就不需要再安装多余的浏览器插件。

传统 Mock 工具

Mock 工具可能是大多前端开发最常用的工具之一,Mock 数据的方式多种多样,可以直接使用 JSON 文件,也可以使用前端的 Mock 工具,如:mockjs,或者写一个简单的 Node 服务。

弊端

  • 直接使用 JSON 很方便,就是 Mock 数据只能是固定的,每次测试都要去修改 JSON 文件,有点麻烦;
  • mockjs 也很好用,但是需要在项目中引入 mockjs 的依赖,而且需要学习 mockjs 的语法;
  • 使用 Node 服务,请求本地接口,则需要启动 Node 服务,每次测试都要启动 Node 服务,有点麻烦。

Ajax Modifier

如果不想这么麻烦,可以尝试一下像 Ajax Modifier 这样的浏览器插件。

可以通过图中的 Switch 按钮切换 Mock 请求的开启状态。

接下来,我们来介绍一下 Chrome 浏览器的 Overrides 功能,功能类似 Ajax Modifier,就像一个浏览器原生的 Mock 工具,让我们可以更方便的实现对请求数据的覆盖。

Overrides 的使用场景

修改请求头

Overrides 功能允许我们在对接口的 header 信息,如下图,我们可以直接点击字段旁边的编辑符号,或者在请求接口上右键->override headers 就可以实现对请求头的修改。

之前有次我们后端的 nginx 配置不对,导致返回的 xml 文件的 Content-Type 为 text/xml,而我们期望的是 text/html👋。于是可以通过 Overrides 修改返回的 Content-Type 为 text/html。

修改请求返回结果

可以实现对接口返回数据的修改,不依赖其他工具。

使用步骤

  1. 右键选择需要修改的请求

    右键后选择Override content

  2. 选择文件夹

    此时会出现如下图提示,需要选择一个文件夹来存储覆盖文件:

    在桌面创建一个文件夹,选择完成后会出现提示:"DevTools 请求获得对 /Users/xxx/Desktop/chrome_devtools/ 的完整访问权限。请确保您不会泄露任何敏感信息 ",点击允许即可。

    如果是第一次覆盖请求时需要存储位置,一旦选择完成后,以后就不会出现这一步骤

  3. 修改请求结果

    接着控制台会自动跳转到Sources -> Overrides中,并且会自动选中需要覆盖的请求文件,修改它就可以实现 mock 请求结果。

    比如我们可以修改上面的数量,看看超出屏幕范围后的弹窗位置是否正常显示:

停用 Overrides 的方式

使用完 mock 之后,需要及时停用,否则会对真实数据产生影响,Overrides 停用的方式有以下几种:

  1. 通过Enable Local Overrides可以启用或停用 mock
  2. 直接点击Clear configuration清空所有本地 mock 数据
  3. 单独删除某一个请求的本地 mock 数据

结语

Overrides 功能的推出为我们提供了一个更为灵活、便捷的 Mock 工具,让我们在开发的过程中可以不再对后端有比较重的依赖,灵活处理各种数据交互情景,减少和后端同时扯皮的时间;并且在处理线上环境出现的 bug 时,也可以利用它来修改返回的结果,从而定位最终的原因。

以上就是本文的全部内容,希望这篇文章对你有所帮助,欢迎点赞和收藏 🙏,如果发现有什么错误或者更好的解决方案及建议,欢迎随时联系。

相关推荐
panxianren6 小时前
Bun 1.4 的 bun test --parallel 将 4 秒的测试套件缩短到约 1 秒
java·javascript
陈随易8 小时前
bm2,Node.js 与 Bun 项目部署新选择
前端·后端·程序员
可乐鸡翅yeah_9 小时前
FFmpeg 生成 HLS 独立分片 independent‑segments 参数到底有什么用
javascript·ffmpeg·音视频·safari·m3u8
福兮说9 小时前
canvas 旋转图片的六个坑:四角被裁、Math.ceil 多出 1px 黑边、JPG 角发黑、翻转方向反了
前端·javascript·图像处理·canvas
Ai-_Man11 小时前
您您这可以把Grok的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑
传人once11 小时前
多图片上传预览功能如何写
前端·css·html·jquery·html5
Eric.4611 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
liangshanbo121512 小时前
JavaScript 异步核心主线
javascript·事件循环·异步操作
传人once13 小时前
悬停旋转放大和位移效果如何写
javascript·css·动画
库拉镜像AI牛牛13 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别