简介
根据swagger文档地址生成mock数据,简化前端mock的工作量
安装
快速上手
1.基础用法:
跟目录创建文件 "sw.js"
const sw = ; ;
node sw --clean --pull --server 等待几秒后,访问localhost:8089 + [接口路径]可访问到mock数据
演示项目:https://github.com/jmx164491960/bg-fe-server
2.进阶用法
命令
以下命令:
node sw --clean --pull --server
等价于
node sw -c -p -s // 简写版本
也可以等价于分别执行:
node sw --clean // 清除swagger生成的mock数据
node sw --pull // 从swagger文档上遍历,生成mock数据
node sw --server // 监听指定端口,开启服务
等价于
node sw -c
node sw -p
node sw -s
命令参数可以按需使用,clean和pull并不是每次启动都需要;比如我已经生成过mock数据,那么只需要node sw --server
配置
上述的简化配置,需要在代码中把使用mock的接口域名改为localhost:8089,但现实中如果可以不修改会更方便,即mock接口和正常接口共用一个域名。使用fail回调函数可以做到
另外,对整个swagger文档进行遍历,对生成出我们本不需要的mock数据,这时候我们可以加入白名单filterReg
sw.js:
const run = ; const httpProxy = ; const proxy = httpProxy; ;
3.更多用法 除此之外,还有更多配置的字段。做到适合的配置,可以最大提高mock的效率。
配置说明
字段 | 类型 | 用法 |
---|---|---|
port | string | 程序监控端口 |
fail | function | 请求没有被mock拦截时的回调函数 |
swaggerOptions | Object | 从swagger上生成mock过程的相关配置 |
swaggerOptions.url | string | swagger文档地址,如http://xxxx/swagger-ui.html |
swaggerOptions.filterReg | regexp | 白名单规则,推荐接口量多的时候使用 |
swaggerOptions.arrayMockNum | Object | 数组型数据的模拟长度,根据属性min-max,在他们之间随机 |
swaggerOptions.arrayMockNum.min | number | 数组模拟长度最小值 |
swaggerOptions.arrayMockNum.max | Object | 从swagger上生成mock过程的相关配置 |
swaggerOptions.formatter | function | 格式化函数,用于对数据做一些统一特殊处理 |