经过漫长的等待,Node-RED 0.18 现已可供下载或通过 npm install 安装。
如果要升级,请阅读升级说明。
对于树莓派用户,如果您仍在使用预装版本,请参阅树莓派文档了解如何升级。
我们去年七月发布了通往 1.0 的路线图,并表示:
您会注意到,这个路线图上没有确定的时间表;它代表了大量的开发工作,并且最终设计上还有一些悬而未决的问题。但我们的目标是在年底前达到 1.0。
现在已是一月底,这是我们自那以来的首次发布,但它并不是 1.0 版本。我们曾希望在路线图上能走得更远,但有些事情是急不来的。
作为一个开源项目,我们依靠优秀的社区来推动项目前进。我们今年的目标之一是发展贡献者社区。为项目做贡献不仅仅是编写代码(当然,这确实有助于加快路线图的进程)。有很多方式可以更深入地参与并回馈项目,比如编写文档、贡献食谱或帮助改进流程库。
如果您想参与进来,欢迎在 Slack 上与我们交流。
现在,让我们来看看 0.18 版本的发布说明。
项目
新的“项目”功能是我们通往 1.0 路线图的第一个重要步骤。它改变了您管理流程文件的方式,并在编辑器中引入了版本控制。
我们在这里就不赘述了,而是添加了一些文档来详细解释“项目”功能,您也可以观看这个视频。
我们正在逐步推出此功能,因此在此版本中,它处于预览模式——您需要通过设置文件来启用它。这意味着您可以在我们未来的版本中默认开启它之前,选择性地迁移到项目功能。
消息序列节点
我们在之前的版本中引入了 Split/Join(分割/合并)节点对。这些节点可用于将单个消息转换为一系列消息,然后再转换回来。
在此版本中,我们围绕消息序列添加了更多功能。
Switch
(开关)节点增加了新规则,可以根据消息在序列中的位置进行路由。Join
(合并)节点可以配置 JSONata 表达式,用于将一个序列简化为单个消息。- 新增了一个
Sort
(排序)节点,用于对序列中的消息进行重新排序。 - 新增了一个
Batch
(批处理)节点,用于根据接收到的消息创建新的序列。 CSV
和File In
(文件输入)节点在发送多条消息时,会以格式正确的消息序列形式发送。这使您能更高效地通过流程处理大型 CSV 文件流。
例如,对于来自 MQTT 节点的传感器数据流,可以使用 Batch
节点创建时间分片的序列,然后 Join
节点可以将其简化,以计算每个时间分片内的平均传感器读数。
自定义节点图标
我们添加了更改节点图标的功能。当您的流程中有大量相同类型的节点时,这有助于区分它们。请注意,这是一个编辑器级别的自定义——您不能通过流程动态更改图标。
要更改图标,请打开节点编辑对话框的设置部分,您会在端口标签设置下方看到新的选项。在此版本中,您必须从可用图标列表中选择,但我们将来会扩展这一功能。
支持作用域模块
我们最近更新了流程库,以索引作用域内的节点模块。在此版本中,我们修复了一些错误,现在您也可以直接在节点面板编辑器中安装它们。
增加核心节点的灵活性
按照惯例,节点使用 msg.payload
作为其主要处理的属性。这使得许多节点能够协同工作,但也可能导致问题,因为流程必须在不同节点间调整属性,以确保在任何给定点都能将正确的内容放入 payload 中。
有些节点已经比其他节点更灵活,允许您选择不同的属性进行处理。我们现在已将此功能扩展到更多节点。
在核心节点面板中,range
、HTML
、JSON
和 XML
节点都已更新,附加节点 RBE
、random
、smooth
和 base64
也已更新——请留意它们模块的新版本。
更新至 JSONata 1.5.0
我们已更新至最新版本的 JSONata,它引入了一些新功能和特性。请查看其发布说明,了解有关 1.4.0 和 1.5.0 版本的更多信息。
节点更新
像往常一样,我们在广泛的核心节点中进行了一系列改进。
-
JSON
节点现在可以配置为强制使用特定编码,而不仅仅是在 JSON 和 JavaScript 对象之间切换。这在您有一个期望用户发送 JSON 的 http 端点时非常有用。HTTP In
节点只有在请求的Content-type
设置正确时才会自动解析 JSON——而在现实世界中,用户经常会犯这种错误。在JSON
节点中添加此模式可以使流程更具容错性,并保证消息的 payload 已被解析。 -
通用的
TLS
配置节点允许您为私钥文件指定密码。 -
说到 TLS,我们为
WebSocket Client
节点添加了 TLS 支持。 -
说到 WebSocket,我们为
MQTT
节点添加了 WebSocket 支持。 -
template
(模板)节点已经可以发送已解析的 JSON 而不是文本,现在它还可以发送已解析的 YAML。您还可以使用msg.template
动态设置其使用的模板。 -
说到 YAML,有一个新的
YAML
解析器节点,用于与该格式进行相互转换。 -
Delay
(延迟)节点现在可以通过发送带有msg.reset
属性的消息来重置,从而丢弃任何排队的消息。 -
Debug
(调试)节点现在允许您使用接收到的消息内容来更新其状态文本。这对于快速了解流程状态非常有用。 -
Inject
(注入)节点现在允许您在其“启动时注入一次”选项触发前指定一个延迟。 -
Trigger
(触发器)节点现在可以配置为使用msg.topic
来区分不同的消息流以进行触发。