# 5.Easy-Mock平台

# 搭建平台

使用git命令下载github源码:

git clone https://github.com/easy-mock/easy-mock.git
1
  • 手动安装:

    手动安装需要配置Mongo与redis,都需要安装到localhost本地

  cd easy-mock && npm install
1

运行服务:

  $ npm run dev
  # Visit http://127.0.0.1:7300
1
2

其他命令:

  # Build front-end assets
  $ npm run build
  
  # Run Easy Mock as production environment (You should run `build` first)
  $ npm run start
  
  # Run unit test
  $ npm run test
  
  # Test lint
  $ npm run lint
1
2
3
4
5
6
7
8
9
10
11
  • Docker方式快速安装

修改config/default.json文件

{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://mongo:27017/easy-mock",
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379,
    "host": "redis",
    "password": "",
    "db": 0
  },
  "blackList": {
    "projects": [],
    "ips": []
  },
  "rateLimit": {
    "max": 1000,
    "duration": 1000
  },
  "jwt": {
    "expire": "14 days",
    "secret": "shared-secret"
  },
  "upload": {
    "types": [".jpg", ".jpeg", ".png", ".gif", ".json", ".yml", ".yaml"],
    "size": 5242880,
    "dir": "../public/upload",
    "expire": {
      "types": [".json", ".yml", ".yaml"],
      "day": -1
    }
  },
  "ldap": {
    "server": "",
    "bindDN": "",
    "password": "",
    "filter": {
      "base": "",
      "attributeName": ""
    }
  },
  "fe": {
    "copyright": "",
    "storageNamespace": "easy-mock_",
    "timeout": 25000,
    "publicPath": "/dist/"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

本地构建Dockerfile文件

FROM node:8

WORKDIR /app

COPY . .

RUN npm install --registry=https://registry.npm.taobao.org

EXPOSE 7300

CMD [ "npm", "run", "dev" ]
1
2
3
4
5
6
7
8
9
10
11

使用docker build -t server:1.0 . 进行镜像的构建。

本地docker-compose.yml文件:

version: '3.1'
services:
  node:
    image: server:1.0
    restart: always
    ports:
      - 7300:7300
    depends_on:
      - mongo
      - redis

  mongo:
    image: mongo
    restart: always

  redis:
    image: redis
    restart: always
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 平台使用

  • 首先可以参考示例项目进行查看支持的Mock数据类型

  • 官方的平台上提供了清晰的示例文档

xcooo

Easy Mock 引入了 Mock.js (opens new window),下面只提供部分语法展示。更详尽的用例及文档请参考 Mock.js 官网。

  • 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等
  • 支持扩展更多数据类型,支持自定义函数和正则

比如:

{
  "string|1-10": "★",
  "string2|3": "★★",
  "number|+1": 202,
  "number2|1-100.1-10": 1,
  "boolean|1": true,
  "regexp": /[a-z][A-Z][0-9]/,
  "absolutePath": "@/string @/user/name",
  "user": {
    "name": "demo"
  },
  "object|2": {
    "310000": "上海市",
    "320000": "江苏省"
  },
  "array|1": [ "AMD" ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 导入Swagger

easymock提供了非常贴心的swagger导入功能:

xcooo

形成出来的文档与swagger非常类似,同样提供了Mock数据地址:

xcooo

# Easymock CLI

官网介绍:https://github.com/easy-mock/easy-mock-cli

安装:

npm install -g easy-mock-cli
1

使用官方的CLI工具快速形成接口请求的js文件:

创建配置文件:

在你的项目根目录下创建一份名为 .easymockrc 的配置文件。

{
  "output": "api",
  "template": "axios",
  "projects": [
    {
      "id": "你要创建的 Easy Mock 项目的 id",
      "name": "demo"
    }
  ]
}
1
2
3
4
5
6
7
8
9
10

以上配置参数的详细介绍在这里 (opens new window)可以找到。

生成 API 文件:

在项目根目录下,执行如下命令将自动生成 API 文件。

easymock init .
1
上次更新: 2020/11/7 下午6:47:53