Node-RED 0.19 现已可供下载或通过 npm 安装。
如果要升级,请阅读升级说明。
对于 Raspberry Pi 用户,如果您仍在使用预安装版本,请参阅Raspberry Pi 文档,了解如何升级。
Node.js 版本支持
Node.js 4 已于 4 月达到其生命周期终点,不再接收任何形式的修复。当前的 Node.js LTS 版本是 8.x,10.x 将于 10 月发布。
随着节点生态系统的不断发展,我们发现我们所依赖的模块越来越多地放弃对旧版 Node.js 的支持。
我们借此机会宣布,这将是 Node-RED 支持早于 Node 8.x 的任何版本的最后一个版本。
随着我们接近 Node-RED 1.0,我们将建立我们自己的 LTS 策略,使其尽可能与 Node.JS 发布计划保持一致。
持久化上下文
此版本带来了我们通往 1.0 路线图的下一步;将上下文数据存储在运行时之外的能力。
上下文数据是流中除流经它的单个消息之外的状态。以前,此数据仅存储在内存中,因此每当运行时重新启动时都会丢失。
通过 0.19,此状态现在可以存储在运行时之外。运行时提供了一个用于创建上下文存储的新 API,并且 0.19 提供了两种可供使用的实现。
默认存储仍然是内存存储——因此现有流不会有任何改变。提供的第二个实现是基于文件的存储——上下文数据将写入您的用户目录下的文件。
它还支持在运行时配置多个存储,因此您可以选择每个上下文数据存储的位置。例如,您可能希望某些值使用非持久化存储,而其他值使用持久化存储。
我们计划在未来提供其他实现,例如 Redis,以便在大规模运行时允许更具可扩展性的方法。
有关如何启用新上下文功能的文档可在此处找到。
上下文浏览器

为了补充新的持久化上下文功能,我们添加了一个新的侧边栏,允许您在编辑器中查看上下文数据。受现有 node-red-contrib-contextbrowser 插件的启发,新的侧边栏围绕新的底层上下文 API 构建,并完全支持多个上下文存储。
与调试侧边栏一样,如果您将鼠标悬停在任何值上,就会出现一个 按钮,可将该值复制到剪贴板。请注意,只有可以进行 JSON 编码的值才能复制。
编辑器更新
重新设计的侧边栏选项卡
随着新的上下文侧边栏的出现,是时候重新设计侧边栏选项卡的显示方式了,因为它们变得拥挤。
选项卡现在会折叠成仅显示选项卡的图标,并带有下拉菜单以选择任何当前不可见的选项卡。
更改节点图标
现在可以自定义流中任何节点的图标。这有助于区分相同类型但扮演不同角色的多个节点。
图标选项位于每个节点编辑对话框的“节点设置”部分。它允许您浏览并选择所有可用图标。请注意,我们尚不支持将 Font Awesome 图标用于节点。
更改子流类别
您现在还可以选择子流显示在哪个调色板类别中。这使得组织子流更容易,而不是将它们都放在调色板顶部的一个类别中。
流导航器小部件
我们已在主工作区的页脚中添加了一个流导航器小部件,可以通过新的 按钮启用。这为您提供了整个工作区的缩小视图,并显示您当前正在查看的部分。您可以拖动视图以快速到达工作区的任何角落,这应该会使您更容易找到那些您拖到最远角落并忘记的奇怪节点。
更好地处理环境变量
现在可以直接在流中访问环境变量。
注入、切换和更改节点都已更新,将“环境变量”选项添加到标准 TypedInput 小部件中
我们还在 JSONata 表达式语言中添加了 $env()
函数,以允许从表达式中访问环境变量。
节点更新
文件输出
节点现在具有输出,因此文件写入完成后流可以继续。函数
节点现在可以访问其自身的id
和name
属性。文档已更新,包含可用对象和函数的完整参考。节点的 JavaScript 编辑器现在也可以展开为更大的编辑器视图。JSON
节点如果接收到的消息具有msg.schema
属性,则可以进行模式验证。- Pi 专用的 GPIO 节点现在可在所有平台上使用——但是它们仅在 Pi 上运行时才起作用。这使得在笔记本电脑上查看/编辑用于 Pi 的流变得更容易。
切换
节点有一个新的“isEmpty”规则。它匹配为空的字符串、数组和缓冲区。还有相应的“isNotEmpty”规则。- 常见的
TLS
节点现在接受servername
配置选项——在使用 SNI 时必需。