前端开发经常在vue-cli、小程序中切换,所以要搭建一个独立的mock环境,json-server就很符合我的需要。它就是独立的node程序,使用时用单独的命令行启动。常见使用场景就是, json-server全局安装,每个项目需要的mock配置放在mock目录下,要使用时,只要用单独的命令行启动即可。
常用的启动命令如下:
json-server --watch --port 53000 ./mock/mock.js --middlewares ./mock/middlewares.js
在vue中使用时,可以在package.json中做如下关联:
Javascript代码
- "scripts": {
- "mock": "json-server --watch --port 53000 ./mock/mock.js --middlewares ./mock/middlewares.js"...
- },
这样就可以使用npm run mock来启动了。生成的接口类似这样:
mock.js是项目配置文件,我加了一段函数walkSync,用于遍历mock/api目录,这样复杂点的接口,直接在api目录下写个js文件就可以模拟了(支持mock.js语法)。
还是以项目中的login.js为例:
Javascript代码
-
- module.exports = {
- "token": "@guid()",
- "user_info": {
- 'uid|3333-9999': 100,
- 'organ': '@ctitle(2, 3)研究所',
- 'name': '@cname',
- 'level|1': [0]
- }
- }
简单点的接口,比如那种只要返回个成功信息的接口,我就在mock.js中直接生成了,比如:
Javascript代码
- {
- "code": 200,
- "data": {flag:true},
- "msg": ''
- }
json-server及mock.js的常规用法,网上文档很多,不赘述。