本文目录导读:

在断网状态下,完全可以使用 Mock 接口。
这正是 Mock 数据的主要应用场景之一,通常有以下几种方式实现:
在前端代码中直接 Mock(最可靠)
这是断网状态下最常用的方法,数据完全本地化,不依赖任何网络。
- 拦截请求的库:使用 Mock.js 或 MSW(Mock Service Worker)。
- Mock.js:在前端代码中编写规则,拦截
XHR或Fetch请求,并返回模拟数据。 - MSW:通过注册 Service Worker 来拦截请求,模拟真实的后端接口行为。
- Mock.js:在前端代码中编写规则,拦截
- 测试框架:代码中的单元测试或 Storybook 等工具,内部的 Mock 在断网时完全正常运行。
本地 Mock Server(需先启动)
你需要先在本地电脑上运行一个服务器程序,它不依赖外网。
- 工具:Json-server、RAP2(本地版)、YApi(本地版)、EasyMock(本地版),或者自己用 Node.js(Express/Koa)写一个简单的服务。
- 原理:启动在
localhost或0.0.1上,即使电脑的网线拔掉或 Wi-Fi 关闭,localhost这个回环地址也始终可用。 - 限制:必须已经提前启动了这个服务,如果没启动,断网后也无法运行。
开发工具内置 Mock(如 API Fox、Apifox)
现在的 API 管理和测试工具(如 Apifox、Postman)提供了 Mock 功能。
- 在 Apifox 中定义好接口和返回示例,它会生成一个固定的 Mock URL(通常是
https://mock.apifox.cn或一个本地地址)。 - 如果你用的是本地 Mock 服务(Apifox 客户端可以开启本地 Mock 服务器),它在断网时也能工作。
- 如果用云端 Mock(依赖 Apifox 公网服务器),则断网时不可用。
💡 关键区别(重要)
你可以根据“断网”的具体情况来判断:
| 场景 | 能否用 Mock | 原因 |
|---|---|---|
| 无外网但电脑有局域网/能自连 | 可以 | 使用 localhost、本地 Mock 服务或代码内 Mock。 |
| 完全物理断网(拔网线、关 Wi-Fi) | 可以 | 前端代码中的 Mock、localhost 服务、Service Worker 都是本机运行。 |
| 只断开了你电脑的网络,但服务器在局域网另一台机器 | 可以 | Mock 服务器在那台局域网机器上且启动着,可以,如果在外网,则不行。 |
总结建议
如果你现在断网了,想测试或开发:
- 最快的方法:在代码里添加 Mock.js 或 MSW,只要你的开发环境(VS Code、WebStorm)和浏览器是打开的,立马能用。
- 方法之一:如果你已经启动过 Json-server 或在本地跑了一个 Node.js Mock 服务,直接用
http://localhost:3000/api/xxx访问即可。
三种方法推荐度:
- 代码内 Mock(Mock.js / MSW) ✅✅✅(最推荐,完全独立)
- 本地 Mock Server(Json-server / Node) ✅✅(需要提前启动)
- API 工具本地 Mock(Apifox 本地版) ✅(工具本身需要离线支持)
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。