第一次写分享文章,没什么经验,权当练手了。
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
运行项目
写在最后:第一次写博客,大家轻喷(不过估计没人看-。-)