Node-RED 2.1 现已可供安装。如果进行升级,请阅读升级说明。
变更日志中包含了此版本的完整变更列表,但以下是主要亮点。
亮点
全新欢迎导览
当您首次打开 2.1.0 版本的编辑器时,将会看到一个全新的欢迎导览。它将重点介绍此版本中的许多新功能。
该导览仅在您首次打开任何特定版本的 Node-RED 时显示——您可以在用户设置对话框中选择将来不再看到它们。
如果您将 Node-RED 嵌入到自己的应用程序中,并且不希望向您的用户显示此导览,也可以在设置文件中禁用它。
创建欢迎导览的底层框架可以被重用,以创建其他交互式导览/教程/指南。我们未来会在这方面提供更多信息。
隐藏选项卡
我们经常听到用户说他们有大量的工作流。为了让管理变得更容易一些,您现在可以在编辑器中隐藏它们的选项卡。
信息侧边栏仍然会列出所有工作流,并指明哪些是当前隐藏的。它也允许通过单击来显示它们。
还有一个新的选项卡菜单,提供了更多管理选项卡的选项。
在此功能的第一个版本中,选项卡的隐藏状态存储在编辑器的用户偏好设置中——它不是工作流本身的属性。这意味着您无法与另一用户共享一组工作流,并让其中一些选项卡预先隐藏。我们是否希望允许这种行为,仍是一个有待讨论的开放问题。
在讨论管理选项卡时,按住 Shift 并单击工作区选项卡栏的滚动箭头,现在将直接跳转到选项卡列表的开头/结尾。
动态 MQTT 节点
MQTT In 节点现在包含一个“动态订阅”选项。选中后,该节点会获得一个输入端,以便您可以向其传递消息。这些消息可用于:
- 连接/断开代理
- 订阅主题
- 取消订阅主题
MQTT Out 节点也支持连接/断开消息。
MQTT Broker 配置节点有一个新的“自动连接”选项——默认是启用的。如果禁用它,那么直到某个流节点收到连接消息时,它才会连接。
这些消息格式的完整详细信息在节点帮助文档中,并总结在此处的 pull-request 中。
msg
类型输入框中的自动完成功能
msg
类型输入框在整个 Node-RED 中被广泛使用。为了让生活更轻松一点,它们现在在输入消息属性名称时提供自动完成功能。
目前,它从核心节点使用的已知属性列表中提供补全建议。
未来,贡献节点将可以注册它们使用的属性,以便它们也能作为补全建议提供。
我们也在思考如何最好地将其应用于 flow/global 输入——根据上下文的当前内容进行自动补全。
新增 Link Call 节点
新增的 Link Call 节点可以与 Link-In/Out 节点一起使用,以创建类似子程序的流程。
如果您有一个以 Link-In 节点开始、以 Link-Out 节点(已设置为新的“返回”模式,这会给节点一个不同的图标)结束的流程,那么 Link Call 节点就可以用来向该流程传递一条消息,并且结果会返回给调用节点。
作为使用子流的替代方案,这对于创建您想在多个地方重用的小型实用工具流程非常有用。
编辑与排列菜单
主菜单现在有了“编辑”和“排列”子菜单。
“编辑”菜单包含您所期望的操作——撤销、重做、复制和粘贴等。
“排列”菜单添加了帮助您排列节点的工具。
所有菜单现在也会显示已设置的任何键盘快捷键。
工作流/分组级别的环境变量
我们已经支持在子流中设置环境变量一段时间了。在此版本中,您现在还可以在工作流或分组级别设置它们。
其他节点更新
调试侧边栏选项
调试侧边栏的选项已经过重新设计。
过滤选项现在是一个下拉菜单,而不是滑动面板。
“清除消息”按钮现在也有一个下拉菜单,让您可以将其更改为“清除已过滤的消息”。如果您启用了“当前流程”过滤器,并且只想清除当前流程的消息而不清除其他流程的消息,那么这个选项会很有用。
另外一个好消息是,这两个选项现在都存储在编辑器设置中——因此在编辑器重新加载后它们会被记住。
Change 节点的深拷贝选项
Change 节点的“设置”操作有一个新选项,用于在从 msg
、flow
或 global
复制时创建值的深拷贝。
对于对象和数组,这会创建一个值的真正克隆,而不是创建一个指向同一对象的引用。
我们还更新了“设置”操作的标签,希望能帮助用户正确区分“来源”和“目标”字段。
Delay 节点更新
在速率限制模式下,Delay 节点支持两个新功能:
- 如果设置了
msg.toFront
,消息将被放到待发送消息队列的前端。 - 有一个新选项,可以将受速率限制的消息发送到节点的第二个可选输出端口。如果您需要对消息进行速率限制,并且需要对被限制的消息进行进一步处理,而不是仅仅丢弃它们,这个功能就很有用。例如,如果您正在创建一个速率受限的 HTTP 端点,您仍然希望能够响应被限制的请求,而不是让它们超时。
Join 节点重置超时
如果 Join 节点正在运行一个超时,并且收到一条设置了 msg.restartTimeout
的消息,它将重新启动超时。
TCP Request 节点可返回字符串
TCP Request 节点现在可以配置为返回字符串,而不是原始的 Buffer。这与 TCP In 节点已有的功能相匹配。
File 节点重命名
file
和 file in
节点在节点面板上有了新的标签,以更清楚地表明哪个是写入文件,哪个是读取文件。即使过了这么久,我以前也得反复确认哪个是哪个。
文档更新
虽然这不完全是版本发布的一部分,但我们也在网站上发布了大量关于 API 文档的更新。
这包括运行时中的钩子 (hooks) 和库存储 (library store) API。
文档现在涵盖了更多可供节点和插件用于扩展 UI 的 API。
还有关于创建自定义主题插件的文档。
下一步计划?
这次发布让我们重新回到了发布计划的轨道上。根据该计划,下一个版本 2.2 预计在明年一月底发布。
该版本的一些功能已在开发中,包括直接从编辑器将子流打包为 npm 模块的工具。
与以往一样,如果您对任何特定功能感兴趣,现在是加入论坛分享您反馈的好时机。