子流程

子流程是将多个节点合并为一个单一节点的集合,在工作区中显示。

它们可以用来减少流程的视觉复杂性,或将一组节点打包为在多个地方使用的可重用流程。

一旦创建,子流程将被添加到可用节点的调色板中。然后可以像其他节点一样将子流程的单个实例添加到工作区。

注意: 子流程不能包含自身的实例——无论是直接还是间接。

创建空子流程

可以通过在菜单中选择 ‘子流程 -> 创建子流程’ 选项来创建子流程。这将创建一个空白的子流程,并在工作区中打开。

参考
快捷键
菜单选项子流程 -> 创建子流程
操作core:create-subflow

将节点转换为子流程

通过选择菜单中的 ‘子流程 -> 选择转为子流程’ 选项,也可以将当前选择的节点转换为子流程。这些节点将被移动到新的子流程中,并被流程中的子流程实例节点替代。

创建子流程

创建子流程

无效的子流程选择

无效的子流程选择

只有当进入选择的任何链接连接到一个节点时,这种转换才可行——因为生成的子流程节点本身最多只能有一个输入。


参考
快捷键
菜单选项子流程 -> 选择转为子流程
操作core:convert-to-subflow

编辑子流程

有两种方式可以打开子流程以编辑其内容。可以双击调色板中的节点,或在子流程实例节点的编辑对话框中点击 ‘编辑流程模板’ 按钮。

子流程将在工作区中以新标签的形式打开。与常规流程标签不同,子流程标签可以关闭以隐藏它们。

编辑子流程

编辑子流程

输入与输出

子流程的输入和输出由可以作为正常的链接连接到流程中的灰色方形节点表示。

工具栏提供了添加和移除这些节点的选项。与正常流程节点一样,最多可以有一个输入,输出可以根据需要添加多个。

状态节点

工具栏提供了将 ‘状态’ 输出添加到子流程的选项。这可以用于更新子流程实例节点的状态。 该节点使用 msg.payload 的输入,该输入可以是一个简单字符串或一个状态对象

编辑子流程属性

‘编辑属性’按钮打开子流程属性对话框。与流程属性对话框一样,可以设置子流程的名称和描述。

  • : 属性 - 每个实例的属性,在子流程中作为环境变量暴露。
  • : 模块属性 - 关于子流程的元数据。 自 Node-RED 1.3 起
  • : 描述 - 每个节点的文档,用 Markdown 格式化。当节点被选中时,这将在信息侧边栏中显示。
  • : 外观 - 自定义节点外观的选项。
子流程编辑对话框 - 属性 子流程编辑对话框 - 模块属性 子流程编辑对话框 - 描述 子流程编辑对话框 - 外观

子流程编辑对话框 - 属性、模块属性、描述和外观标签

属性
编辑子流程属性

编辑子流程属性

编辑子流程属性UI

编辑子流程属性UI

编辑对话框的 ‘属性’ 标签可以用于定义一组可以为每个子流程实例自定义的属性。这些属性随后作为环境变量在子流程中暴露。

属性表中的每个条目都可以展开以自定义其在编辑子流程实例时的显示方式。’UI 预览’标签提供了预览它们将如何显示。


模块属性

模块属性标签可用于设置有关子流程的附加元数据,包括版本、许可证和模块名称。这些可以在将子流程打包为 npm 模块时使用。

外观

外观标签提供的选项包括:

  • 更改节点所在的调色板类别
  • 选择是否显示节点标签
  • 更改节点的颜色
  • 更改节点的图标
  • 提供自定义端口标签。

删除子流程

子流程工具栏中的 ‘删除子流程’ 按钮可用于移除子流程及其所有实例。