开发时需要实时的测试自己的代码,需要请求后端的数据,调用后端接口来看看能不能正常显示数据,但是在实际的情况中,经常是你需要测试,而后端的接口还没写好。
以前前端mock我总是自己用express起一个服务器,然后在后端自己写接口,然后自己写一些假数据返回,这样既耗费时间,而且写假数据很累,不便于操作,今天发现一个特别好用的mock工具————mockjs,既不用自己写服务器,返回的数据也是随机的,更加的真实。
1.在项目中安装mockjs: $ npm i mockjs -S
2.在发送请求后端接口的文件中引入mockjs模块:
import Mock from 'mockjs'
3.定义返回的数据结构,可以随机生成数据,详细规则见mockjs文档
例:cconst template = { 'list|1-10':[{ 'id|+1':1 }] }
4.调用下列函数传入三个参数:要拦截的匹配url,拦截的请求类型,返回的数据模板
Mock.mock(/\.mock/, 'get', template )
5.配置完成之后在此文件中发向后端的所有请求,只要url匹配,mockjs就会拦截此请求,然后返回自定义的数据
优化:可以在项目根目录下新建一个mock文件夹,其中放封装的各种自定义返回的数据结构,都导出为模块,然后在请求假数据的文件中import数据结构,看起来会更简洁
例:import Mockfrom 'mockjs' // 导入mockjs包
import template from '../../mock/topics' // 自定义的数据生成模板
Mock.mock(/\.mock/, 'get', template) //使用mock