1.0.15 • Published 2 years ago

@qianxuemin/mocker v1.0.15

Weekly downloads
1
License
ISC
Repository
github
Last release
2 years ago

mocker

一个简单的mockServer

安装

依赖 Node.js (>=6.x):

$ sudo npm install @qianxuemin/mocker -g

用法

  1. 在项目根目录下执行mocker,会读取项目中mock文件夹作为响应,支持jsjsonjson5格式,支持直接书写mockJs规则
  2. 支持自定义参数
    • 自定义mocker端口 例如:mocker --port 8888mocker -p 8888
    • 自定义mocker响应时延 例如:mocker --delay 1000mocker -d 1000

一些示例

你的项目目录示例:

.
├── README.md
├── mock
│   └── api
│       ├── fn.js
│       ├── json.js
│       ├── data.json
│       ├── logic.js
│       ├── json5.json5
│       └── mock.js
├── node_modules
├── package.json
└── src

使用:项目根目录下执行mocker -p 8888 -d 100

接口调用小栗子🌰 :http://127.0.0.1:8888/api/fn/

你的mock文件示例:

  • 支持导出函数 函数为接收的请求参数
// fn.js

module.exports = (request) => {
  let { method, query, querystring, body } = request

  return {
    'code': 2000,
    'message': '接收请求参数',
    'data': {
      'method': method,
      'query': query,
      'querystring': querystring,
      'body': body
    }
  }
}
  • 支持json文件
// data.json

{
  "message": "直接返回json",
  "code": 2000
}
  • 支持json5文件
// json5.json5

{
  message: "直接返回json", // 支持写注释
  'code': 2000,
  'users|5':['@cname()'], // 支持mockjs规则
  'images|1-3':['@image()']
}
  • 支持导出对象
// logic.js

module.exports = {
  'code': 2000,
  'message': '直接导出对象',
  'data': {
    'name': '贝小壳'
  }
}
// mock.js

module.exports = {
  'code': 2000,
  'message': '使用mockjs',
  'data|1-3': [{
    'guid': '@guid()',
    'phone': /1[3-9]\d{10}/,
    'name': '@cname()',
    'agentCode': /\d{6}/,
    'avatar': '@image("400x300", "#50B347", "#FFF", "mocker")',
    'city': '@city(true)',
    'ip': '@ip()'
  }]
}