Yapi 插件配置教程
YAPI的优势就是提供了一套插件系统,任何人都可以通过开发和使用插件来扩展它的功能。
但是,由于官方很久没有更新程序了,所以目前安装插件时,如果不做特殊配置,插件打包时会因为依赖版本的关系导致打包失败,从而无法成功安装使用插件。
在安装插件前,需要先做以下工作:
2.0 关闭正在运行的yapi客户端程序
如果是直接使用终端中的node命令运行的,就直接关闭终端,如果是使用pm2启动的,就使用pm2停止服务。
2.1 删除打包缓存
YAPI 是使用 ykit 打包的,打包会有缓存,其位置是 安装目录/vendors/node_modelus/.ykit-cache
目录。
由于安装插件时,可能会受到上次打包的缓存影响,所以我们最好先删除打包缓存,在yapi安装目录下执行:
$ rm -rf vendors/node_modules/.ykit-cache
2.2 删除历史文件和npm锁文件
在vendors
目录下执行:
$ rm -rf package-lock.json
$ rm -rf .history
2.3 固定 eslint-plugin-react
与 swagger-client
版本
修改 vendors/package.json
文件,固定 eslint-plugin-react
包的版本为 7.1.0
,同时固定 swagger-client
包的版本为 3.5.1
。
2.4 安装插件
这里以两个通知插件为例,其它插件同理。
2.4.1 安装钉钉通知插件
在yapi安装目录下执行:
$ yapi plugin --name yapi-plugin-dingding
修改安装目录下的 config.json
,对插件选项进行配置。
2.4.2 安装通知插件(支持钉钉和企业微信等)
同样在yapi安装目录下执行:
$ yapi plugin --name yapi-plugin-notifier
修改安装目录下的 config.json
,对插件选项进行配置。
2.5 重启服务
使用node或pm2重启yapi服务。
3. 容器中安装插件
3.1 容器内安装插件
请按照 [[Yapi安装部署教程]] 中 容器部署部分进行yapi的安装部署。
进入容器交互终端,安装ykit
// 容器交互终端
$ npm i -g ykit
安装插件
// 容器交互终端
$ yapi plugin --name yapi-plugin-xxx
由于是在容器内,执行上述插件安装命令可能不会有进度输出,过几分钟手动 ctrl+c
结束命令后就可以看到执行结果了。
然后退出容器终端,重启容器,就可以了。
3.2 修改容器内的文件
有的时候,我们需要对容器内的文件进行修改或替换,以实现修改配置或者二次开发的目的。可以使用如下办法。
我们以修改自动鉴权插件(yapi-plugin-interface-oauth2-token
)的源码为例。
先将容器内的插件目录拷贝到宿主机上:
$ docker cp f5ba28a4dd9d:/home/vendors/node_modules/yapi-plugin-interface-oauth2-token/ /home/yapi/
f5ba28a4dd9d
为容器ID,可以通过docker ps -a
查询。
打开home/yapi
目录,修改插件源码。
再将修改后的源码拷贝到容器内覆盖原来的:
$ docker cp /home/yapi/yapi-plugin-interface-oauth2-token/ f5ba28a4dd9d:/home/vendors/node_modules/