查漏补缺——说说.mock()
问题
如题所示
答案
相关源码:
const files = require.context('.', true, /\.js$/);
files.keys().forEach((key) => {
if (key === './index.js') return;
files(key).default.forEach(item => {
let {url,type,response} = item;
// 注册所有的mock服务
Mock.mock(new RegExp('^' + url), type, XHR2ExpressReqWrap(response));
})
});
这里有这样一句代码:
Mock.mock(new RegExp('^' + url), type, XHR2ExpressReqWrap(response));
Mock.mock( rurl, rtype, template )拦截ajax请求——帮助前端离线开发
根据上面,我们可以知道这个方法的三个参数,第一个参数是需要拦截的ajax的URL,
根据上面这个,我们知道这是在匹配的地址需要以url
开头的。
第二个参数是拦截的请求类型,有GET
、POST
、PUT
、DELETE
的,第三个返回的随机数据。