Node-RED 2.2 现已可供安装。如果升级,请阅读升级说明。
更新日志中有此版本的完整变更列表,但以下是重点内容。
亮点
搜索历史
现在,主搜索对话框会保留您的搜索历史。这使得重复搜索相同内容变得容易。
记住缩放/位置
在主设置对话框的“视图”部分下,有一对选项可以让编辑器记住工作区的缩放级别,以及各个选项卡的滚动位置。
如果您喜欢将工作区放大,这将很有帮助——您不必每次重新加载编辑器时都重置它。
对齐节点
启用对齐网格后,带有隐藏标签的节点(例如,链接节点)现在可以按其左边缘或右边缘对齐。这将使工作区中的所有内容更容易对齐。
分离节点
您现在可以从流的中间删除一个节点,并让连线在后台自动修复。
通过在按删除键时按住 Ctrl(或 Cmd)键来完成此操作。
您还可以从流中分离一个节点,而*不*删除它。
我们没有为此分配默认快捷方式,但您可以在“设置”对话框的“键盘”窗格中自己分配一个。该操作名为 core:detach-selected-nodes
。
选择多条连线
您还可以通过按住 Ctrl 键并单击来选择多条连线。
当您选择多个节点时,我们还会突出显示它们之间的任何连线。这可以让您在选择了流之后更容易地跟踪它。
切割连线
我们增加了通过切割来移除连线的功能。您可以通过按住 ctrl(或 cmd)键,然后用鼠标右键拖动来实现。
子流输出标签
如果您为子流模板设置了输出标签(通过其编辑对话框的“外观”选项卡),编辑器现在将在您编辑子流模板时显示这些标签。
预定义环境变量
我们添加了许多预定义的环境变量,它们提供了在评估时访问有关节点、组和流的信息。
NR_NODE_ID
- 节点的 IDNR_NODE_NAME
- 节点的名称NR_NODE_PATH
- 节点的路径 - 这是一个新概念,我们将在下面解释。NR_GROUP_ID
- 所在组的 IDNR_GROUP_NAME
- 所在组的名称NR_FLOW_ID
- 节点所在流的 IDNR_FLOW_NAME
- 节点所在流的名称
在您的流中使用环境变量的指南可在此处获取:这里。
例如,在 Function 节点中,您可以这样做:
const functionName = env.get("NR_NODE_NAME")
const flowName = env.get("NR_FLOW_NAME")
msg.payload = `I was sent by Function '${functionName}', on flow '${flowName}'`
return msg
节点路径
这是我们添加的一个新的节点内部属性,它有助于准确识别任何节点在整个流中的位置。
以下内容可能听起来有点抽象,大多数用户可以跳过。但当您创建自己的、带有自定义日志消息的子流模块时,它会很有用。
如果一个 NodeA
在 Flow1
上,它的 path
将是 Flow1/NodeA
。
这不是很特别,但在处理子流,特别是嵌套子流时,它变得更有趣。
当我们创建一个子流的实例时,子流中的所有节点都会被赋予随机生成的ID。如果该节点记录了一个错误,您会看到生成的ID,而不是编辑器中显示的“真实”ID。当您有嵌套子流时,情况会变得更困难,因为您需要能够识别要查找的节点实例在哪个子流实例中。
path
属性可以通过提供顶级流和每个子流实例的ID来解决这个问题,从而准确地识别节点的位置。
此属性通过以下方式公开:
- 对于节点作者,它在节点对象上可用作
this._path
。 - 在 Function 节点内部,它公开为
node.path
。 - 当由节点评估时,它也可以作为环境变量
NR_NODE_PATH
使用。
节点更新
- 如果 Buffer 对象包含有效字符串,JSON 节点现在将尝试解析它们。
- TCP 客户端节点支持 TLS 连接。
- WebSocket 客户端节点现在允许您指定要连接的子协议。
下一步计划?
发布计划的下一个是 Node-RED 3.0,计划于四月底发布。
这与 Node.js 12 到达其生命周期终点的时间相吻合。
与往常一样,如果您对任何特定功能感兴趣,现在是加入论坛分享您反馈的好时机。