mock模拟数据平台——easy-mock本地化实现分享

第一次写分享文章,没什么经验,权当练手了。


easy-mock介绍:

  • Easy Mock是一个可视化,并且能快速生成 模拟数据 的持久化服务
  • Easy Mock 支持基于 Swagger 创建项目,以节省手动创建接口的时间
  • 简单点说:Easy Mock就是一个在线创建mock的服务平台,帮你省去你 配置、安装、起服务、维护、多人协作Mock数据不互通等一系列繁琐的操作

为什么要本地化部署easy-mock:

  • easy-mock线上服务经常挂掉,对于模拟和测试数据很不方便
  • easy-mock本身是个开源项目,可以直接从gitbub上clone下来查看其源代码,方便学习

本地化部署步骤:

注意:本地需要安装Node(v8.x) & MongoDB(>= v3.4) & Redis(>= v4.0)
经过尝试在本地启动easy-mock的时候,如果node版本号使用10.X或者11.X都是无法运行该项目的(在我这边是这样的,不知道大家那边具体node兼容情况如何)

1、MongoDB安装

我的是mac系统所以直接采用homebrew的方式安装,打开命令行工具时间输入brew intall mangodb,讲一下这里会遇到的坑:
首先输入这个命令之后会提示你正在更新homebrew,如果开着科学上网工具可以再等一会(brew下载资源会比较慢),如果一直卡在
Updating Homebrew...那么可以按住 control + c 取消本次更新,接着会下载我们需要的MongoDB资源。如果brew仍然没有反应无法下载我们需要的资源那么就需要更换brew的源(针对没有科学上网工具的小伙伴),具体如何更换请参照这篇文章的分享,我是直接开了科学上网工具然后下载完成的。下载完MongoDB之后步骤如下:

1、创建根目录下 data/db 文件夹:

sudo mkdir -p /data/db

2、配置环境变量,打开终端,输入“open -e .bash_profile”,在打开的文件中加入

export PATH=${PATH}:/usr/local/MongoDB/bin

3、Command+S保存之后,在终端输入:"source .bash_profile"使配置生效。输入"mongod -version",回车后如果看到有版本号则说明MongoDB已经成功安装到了Mac上。

2、Redis安装

redis安装较为简单,不在此赘述,有问题可参考这篇文章的分享

3、修改配置文件

修改clone下来的easy-mock中的 config/default.json 文件:

{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://localhost/easy-mock",
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379,
    "host": "localhost",
    "password": "",
    "db": 0
  },
  "blackList": {
    "projects": [], // projectId,例:"5a4495e16ef711102113e500"
    "ips": [] // ip,例:"127.0.0.1"
  },
  "rateLimit": { // https://github.com/koajs/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": "", // 设置 server 代表启用 LDAP 登录。例:"ldap://localhost:389" 或 "ldaps://localhost:389"(使用 SSL)
    "bindDN": "", // 用户名,例:"cn=admin,dc=example,dc=com"
    "password": "",
    "filter": {
      "base": "", // 查询用户的路径,例:"dc=example,dc=com"
      "attributeName": "" // 查询字段,例:"mail"
    }
  },
  "fe": {
    "copyright": "",
    "storageNamespace": "easy-mock_",
    "timeout": 25000,
    "publicPath": "/dist/"
  }
}

4、运行项目

1、打开命令行:输入 sudo mongod,如果显示等候客户端连接的界面就说明启动成功了,如果不成功则需要检查 /data/db 文件夹位置对不对,不对的话可以删掉重新建一个, 接着打开浏览器,输入localhost:27017 ,会出现:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

重新打开命令行:输入 sudu mongo,这里为什么都要加sudo,因为我发现不加的话,会出现无法连接数据库的情况

2、不要关闭上述命令行,新建一个,然后输入sudo redis-server,打开redis服务

3、进入easy-mock项目文件夹,输入npm run dev 运行项目

写在最后:第一次写博客,大家轻喷(不过估计没人看-。-)

你可能感兴趣的:(javascript,html5,mongodb)