在前端开发中您可能遇到这样場景:
经理:好,开发时间就定位两周
服务端:OK没问题,两周能搞定
前端:干两周我也能搞定,可尼玛我要等服务端接口啊
然后这两周期间,你不断轮询服务端人员催促接口。到最后服务端如期完成,前端的你孩子啊继续撸…
[mock-api] 就是为了解决前端等待服务端开发接口洏产生的一个小工具使用json文件模拟服务端请求结果。工作流程编程了这样:
经理:好开发时间就定为两周
服务端:OK,没问题两周能搞定
前端:OK,服务端先定义好接口文档然后大家一起过一下文档
然后服务端定义了接口文档,大家通过后前端利用mock-api模拟和服务端并行開发
两周后,项目开发如期完成
错误自定义,便于处理各种协定好的异常
假设服务端约好了一堆API我们拿其中一个来示例:
新建一個目录,比如取做:restful在该目录下建立一个json文件(文件名不以开头,以开头的json文件可以作为数据源使用)比如:user.json,写入以下内容:
其中response结构的key支持指定输出number,而不是默认的string(因为{{ }}表达式必须包在双引号中) value中{{ }} 表达式常用支持的表达式有:
这里的this其实就是Koa的请求上下文對象,具体使用可以参考koajs文档
如果需要模拟网络延迟或者请求失败,可以使用 delay 和 status、error例如:
0.1.0 版本后支持js方式,提供更大的控制力:
helper 是工具函数目前提供:
另外,你可以使用nodejs能做到的所有功能
上面的 /path/to/restful 是之前建立的restful目录的路径,可以是楿对地址也可以是绝对地址。
前端开发便可以通过 访问到该接口mock-api已经做了跨域处理,因此不存在跨域问题
如果需要定制端口,启动命令使用:
注意为了便于开发,建议将上面的 进行配置后期接入真实API则只需要修改一处配置即可。
如果需要统一模拟慢速网络可以使用 -d 参数:
如果需要统一模拟异常,可以使用 -s 参数:
如果需要提供静态文件服务(例如一些图片的访问)可以使用 -S 参数,默认是在 serve 的路徑下的 static 目录:
命令行帮助可以通过以下命令查看: