Skip to content

MockJS

官网

CDN

MockJS 有两个作用:

  1. 产生模拟数据
  2. 拦截 Ajax

下面两张图说明 MockJS 的作用

image-20210524134909296

image-20210524135812109

仅模拟数据

js
Mock.mock(数据模板);

数据模板有其特有的书写规范,具体写法见官网

拦截+模拟数据

js
Mock.mock(要拦截的url, 要拦截的请求方法, 数据模板);

更多用法见官网

注意,MockJS 拦截数据的原理是重写了 XHR,因此它仅能拦截 XHR 的数据请求,而无法拦截使用fetch 发出的请求

具体的,MockJS 可以拦截:

  • 原生XmlHttpRequest
  • jQuery中的$.ajax
  • axios

MockJS 可以模拟网络延时,用法为:

js
Mock.setup({
    timeout: 400, // 网络延时400毫秒
});

Mock.setup({
    timeout: "200-600", // 网络延时200-600毫秒
});