这是我参与更文挑战的第1天,活动详情查看: 更文挑战
一、介绍
YApi 旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。这是来自官网的描述。更多的详细介绍请看一位博主的一篇文章,我觉得写的非常好。
二、准备工作
在部署 YApi 之前,本地服务器必须安装 Node.js,MongoDB, Git 。
Node.js(7.6+) 安装参考:www.runoob.com/nodejs/node…
MongoDB(2.6+) 安装参考:blog.csdn.net/weixin_4146…
Git 安装参考:www.cnblogs.com/xueweisuoyo…
YApi 示例站点: yapi.baidu.com/
YApi 文档地址: hellosean1025.github.io/yapi/
YApi github 地址: github.com/YMFE/yapi
安装完软件记得将软件运行的 .exe 文件路径 添加到环境变量 path 里。
三、部署YApi
首先下载 YAPI github地址的仓库源码。
1.可视化部署
把下载的文件解压后(尽量不要解压到中文路径),命令行界面到 YAPI 的解压目录下执行
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
访问 http://localhost:9090 进行个人设置
切换到部署目录,输入
node yapi-master/my-yapi/vendors/server/app.js
一定要注意路径
访问 http://localhost:3000 ,使用账号名:"admin@admin.com",密码:"ymfe.org"
如果有自己的ip直接把localhost 换上对应的ip就可以外网访问
2.Node.js 部署
切换到根目录输入如下命令
npm install -g yapi-cli --registry https://registry.npm.taobao.org
启动yapi服务
yapi server
根据输出提示用浏览器访问 http://127.0.0.1:9090 进行部署YApi
输入如上信息后,点击"开始部署"(部署的时候 MongoDB 的 cmd 窗口不要关闭),部署成功后注意最后3段话,根据这3段话操作就好(这是命令行的,部署界面也是类似的)
部署成功后会在C盘根目录生成一个名为 my-yapi 的目录。回到命令窗口进入 C:\my-yapi 目录,然后输入上图提示命令
node vendors/server/app.js
输入命令后根据输出信息用浏览器访问 http://127.0.0.1:3000, 访问后进入 YAPI 的登录界面
在使用yapi期间不能关闭 YAPI 的服务命令窗口,否则不能运行
四、使用pm2 进行服务管理
如果使用node vendors/server/app.js启动 YApi 服务的话,如果我们把cmd窗口关闭了,这时候我们就无法访问 YApi 了,这时候我们就可以使用 pm2 管理 node 服务器 启动/停止
1. 安装pm2
npm i -g pm2
2. pm2 管理 YAPI 服务,进入YAPI 的部署目录执行
pm2 start "vendors/server/app.js" --name yapi
如下图所示,则表示成功:
这时候我们就可以使用pm2来管理 YApi了
pm2操作Yapi基本命令:
pm2 info yapi //查看服务信息
pm2 start yapi //停止服务
pm2 stop yapi //停止服务
pm2 restart yapi //重启服务
五、遇到的问题
1. node 版本太高, 建议切换到 12.14 版本
Error: (node:84852) Warning: Accessing non-existent property ‘count’ of module exports inside circular dependency
(Use node --trace-warnings ... to show where the warning was created)
切换到12.14有两种方法,第一就是卸载原来的 node 版本,第二就是使用 nvm node版本管理工具,多安装一个 12.14 版本的 node.
nvm 下载和使用地址: www.jianshu.com/p/cbf4f76ba…
2. 切换版本之后,再次点击 部署,发现报错
切换到yapi 根目录下找到 my-yapi目录,找到里边的 init.lock 删除就行,然后继续重新部署。
3.UnhandledPromiseRejectionWarning: Error: 初始化管理员账号 "admin@admin.com"
修改默认管理员邮箱即可。
4.其他问题
可查看 github 仓库的 issue : github.com/ymfe/yapi/i…