[
](thawkin3.medium.com/?source=pos…)
6月9日
-
5分钟阅读
[
拯救
我如何建立自己的失眠插件
只用了几行代码!
我的Insomnia插件(request-desktop-notification)
Insomnia是一个开源的API客户端,可以帮助你测试和调试GraphQL、gRPC和REST API端点。尽管Insomnia很强大,但有时你想进一步扩展其功能,你可以通过插件来实现。
Insomnia Plugin Hub上有许多伟大的插件,都是由开源社区贡献的。更令人兴奋的是,如果你愿意做出贡献,你可以建立你自己的插件!
在这篇文章中,我们将探讨我建立的一个插件,然后向你展示如何建立一个你自己的Insomnia插件。
插件演示
我的插件是一个简单的补充,它允许你启动一个文件夹中的所有请求,然后在所有请求完成后显示一个桌面通知。
上下文菜单项允许您在Insomnia应用程序中 "发送所有请求"。
如果你像我一样是一个习惯性的多任务处理者,你可能会在工作时快速地在几个应用程序之间循环。你的IDE,你的终端,你的浏览器,以及Insomnia可能是其中的几个。
如果你的文件夹里有大量的请求,而又不想等待它们全部完成,你可以在等待的时候继续做其他事情,一旦工作完成,就会得到通知。
一旦所有请求被发送,就会出现桌面通知
你可以在npm上找到我的插件的包,或者在这里查看GitHub repo。
插件安装
你可以通过Insomnia桌面应用程序的设置页面来安装Insomnia插件。只需点击应用程序右上角的齿轮图标,然后选择 "插件 "标签。在文本输入中搜索任何插件名称,然后点击 "安装插件 "按钮,将该插件添加到您的应用程序。
就我的插件而言,其名称为insomnia-plugin-requests-desktop-notification
。
安装 requests-desktop-notification 插件
插件的使用
一旦你安装了插件,你就可以开始使用它了--不需要重新启动你的Insomnia应用程序。插件有几种变化。有些是给各种钩子添加行为,如请求钩子或响应钩子。其他的则是在应用程序的下拉菜单中添加新的项目。你甚至可以通过插件安装一个自定义的主题。
我的插件为请求文件夹的下拉菜单添加了一个新项目。要看到它的作用,你可以导航到你的Insomnia应用程序的 "调试 "区域。然后,创建一个新的文件夹并向其添加一些请求(如果你已经有一个文件夹,则使用现有的文件夹)。
接下来,点击文件夹名称右侧的下拉触发按钮,打开下拉菜单。在默认的菜单项中,你现在也会看到一个我的插件添加的自定义菜单项。"发送所有请求"。
上下文菜单项允许你在Insomnia应用程序中 "发送所有请求"。
选择该菜单项来发送你文件夹中的所有请求。一旦所有请求被完成,一个桌面通知将出现在你的机器上。Ta-da!
一旦所有请求被发送,就会出现桌面通知
如何建立一个失眠症插件
那么,我是如何建立这个的呢?嗯,它实际上很简单!该插件是一个小的JavaScript应用程序,由一个main.js
文件和一个package.json
文件组成。对于桌面通知功能,我使用了 [node-notifier](https://www.npmjs.com/package/node-notifier)
npm包。
当创建一个新的Insomnia插件时,你可以通过导航到Insomnia应用程序的设置屏幕,点击 "插件 "标签,然后点击 "生成新插件 "按钮来引导你的插件。
使用 "生成新插件 "按钮来引导您的插件
这将为您的插件创建一个新的目录,并将其放置在Insomnia在本地保存所有插件的文件夹中。它还会自动为你创建main.js
和package.json
文件。
从那里,我在我的main.js
文件中写了以下代码。看看它有多短!
让我们一起走过这段代码。首先,它需要我们依赖的两个依赖项:path
和node-notifier
。path
是一个内置模块,但我需要通过在终端运行yarn add node-notifier
来安装node-notifier
。
- 代码的主要部分是在
requestGroupActions
数组中添加一个新条目。这就是在下拉菜单中为我们的请求文件夹创建新的菜单项的原因。 label
是该菜单项的文本。action
是当有人选择该菜单项时我们要运行的代码。
在action
函数中,我们做以下工作。
- 收集文件夹中的所有请求。
- 发送它们。
- 一旦所有的请求都完成了,就调用
notifier.notify
。title
,message
,icon
, 和sound
属性都配置了我们的桌面通知。
这就是了!这个插件真的很简单。这个插件真的就是这么简单。
一旦我写了这段代码,我就能浏览到我的Insomnia应用程序的设置页面,然后是 "插件 "标签,然后点击 "重新加载插件 "按钮,重新加载最新的变化。之后,该菜单项出现在我的请求文件夹的下拉菜单中。
发布到npm
写完我的插件后,我在本地的一切工作都很顺利。但我也想与更广泛的社区分享这个插件。为了做到这一点,我需要把它发布到npm。为了做到这一点,我把最新的代码推送到我的GitHub repo,用npm login
登录我的npm账户,然后用npm publish
发布我的软件包。
在发布了软件包的初始版本后,我对代码进行了一些更新,用npm version <major|minor|patch>
,生成了一个新的软件包版本,用git push --tags
,将标签推送到GitHub,用git push
,将代码推送到GitHub,然后用npm publish
,将新的软件包版本发布到npm。
一旦我的软件包在npm注册表中发布,它就会在接下来的24小时内自动添加到Insomnia Plugin Hub。
总结
你已经有了 - 我是如何建立我自己的Insomnia插件的,你也可以。
简而言之,Insomnia对于构建、测试和调试API非常有用。插件让你扩展Insomnia的功能。
构建你自己的自定义插件很容易。你只需要几行代码就可以添加新的功能