不会飞的章鱼

熟能生巧,勤能补拙;念念不忘,必有回响。

YApi的安装与部署

什么是Yapi

YApi 是由去哪儿移动架构组推出的一款开源项目,是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

官网:https://yapi.ymfe.org/,Yapi具有以下功能特性

权限管理

扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性。

可视化接口管理

基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率。

Mock Server

易用的 Mock Server,MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据。

自动化测试

完善的接口自动化测试,保证数据的正确性,支持对 Response 断言。

数据导入

接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目。

插件机制

强大的插件机制,满足各类业务需求。

个人为什么选择会用它

  • 多人协作管理接口,避免满屏幕的txt、word文档
  • 内网部署,避免数据泄露
  • 图形化操作,好用
  • 以服务的形式来部署,新建一个账号一个团队即可使用
  • 外加Postman的测试接口功能

环境 nodejs(7.6+) mongo(2.6+)

nodejs安装

1
2
3
$ sudo apt update
$ curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
$ sudo apt install -y nodejs

npm安装

1
$ sudo apt -y npm

注:建议再安装nvm,方便管理node版本

mongodb安装

1
2
3
$ sudo apt install mongodb
$ mongo version
MongoDB shell version: 2.6.10

启动mongo

1
$ service mongodb start

测试mongodb是否启动成功
访问http://localhost:27017/,页面显示

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

安装YApi

官方推荐的可视化部署方式

1
2
3
4
5
$ npm install -g yapi-cli --registry https://registry.npm.taobao.org

//启动yapi server
$ yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip

显示部署页面

点击开始部署

部署完成后访问http://localhost:3000
登录账号admin@admin.com
密码ymfe.org

Docker部署

docker部署安装yapi框架

Yaml文件部署

将下面的示例复制粘贴下来命名为 docker-compose.yml

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
version: '3'

services:
yapi-web:
image: jayfong/yapi-x:latest
container_name: yapi-web
ports:
- 40001:3000
environment:
- YAPI_ADMIN_ACCOUNT=admin@docker.yapi
- YAPI_ADMIN_PASSWORD=adm1n
- YAPI_CLOSE_REGISTER=true
- YAPI_DB_SERVERNAME=yapi-mongo
- YAPI_DB_PORT=27017
- YAPI_DB_DATABASE=yapi
- YAPI_MAIL_ENABLE=false
- YAPI_LDAP_LOGIN_ENABLE=false
- YAPI_PLUGINS=[]
depends_on:
- yapi-mongo
links:
- yapi-mongo
restart: unless-stopped
yapi-mongo:
image: mongo:latest
container_name: yapi-mongo
volumes:
- ./data/db:/data/db
expose:
- 27017
restart: unless-stopped

使用命令docker-compose up -d运行后,通过http://localhost:40001即可访问 YApi-X。

部署成功后,显示:

遇到的问题

Cannot find module ‘fs-extra’

1
2
 > yapi-vendor@1.9.2 install-server > node server/install.js
Error: internal/modules/cjs/loader.js:800 throw err; ^ Error: Cannot find module 'fs-extra' Require stack: - /home/neo/my-yapi/vendors/server/install.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15) at Function.Module._load (internal/modules/cjs/loader.js:690:27) at Module.require (internal/modules/cjs/loader.js:852:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (/home/neo/my-yapi/vendors/server/install.js:1:12) at Module._compile (internal/modules/cjs/loader.js:959:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10) at Module.load (internal/modules/cjs/loader.js:815:32) at Function.Module._load (internal/modules/cjs/loader.js:727:14) at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/neo/my-yapi/vendors/server/install.js' ] }

参考资料

YApi 安装出现问题请看这里
Error Cannot find module ‘fs-extra’
YApi教程

------ 本文结束------
如果本篇文章对你有帮助,可以给作者加个鸡腿~(*^__^*),感谢鼓励与支持!