子流程

子流程是工作区中折叠为单个节点的节点集合。

它们可用于降低流程的视觉复杂度,或将一组节点打包成可在多处重复使用的流程。

创建完成后,该子流程将被添加到可用节点的选项板中。之后可以像添加其他节点一样,将子流程的各个实例添加到工作区。

注意:子流程不能直接或间接包含自身的实例。

创建一个空的子流程

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

参考文档
快捷键
Menu optionSubflows -> Create subflow
Actioncore:create-subflow

将节点转换为子流程

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

Creating a subflow

创建子流程

Invalid subflow selection

无效的子流程选择

只有当进入所选区域的所有连线都连接到一个节点时,这才可能实现 - 因为生成的子流程节点本身最多只能有一个输入。


参考文档
快捷键
Menu optionSubflows -> Selection to Subflow
Actioncore:convert-to-subflow

编辑子流程

有两种方式可以打开子流程以编辑其内容。一种是双击面板中的节点,另一种是在子流程实例节点的编辑对话框中点击“编辑流程模板”按钮。

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

Editing a subflow

编辑子流程

输入与输出

子流程的输入和输出由灰色方形节点表示,这些节点可以像常规节点一样连线到流程中。

工具栏提供添加和移除这些节点的选项。与常规流程节点一样,最多只能有一个输入节点,但可以根据需要设置任意数量的输出节点。

状态节点

工具栏提供了向子流程添加"状态"输出的选项。这可用于更新子流程实例节点的状态。 该节点使用msg.payload作为输入,可以是一个简单字符串或一个 Status Object

编辑子流程属性

“编辑属性”按钮可打开子流程属性对话框。与流程属性对话框类似,可以在此设置子流程的名称和描述。

  • : 属性 - 每个实例的属性,这些属性在子流程中作为环境变量暴露。
  • : 模块属性 - 关于子流程的元数据。自Node-RED 1.3起
  • : 描述 - 使用Markdown格式化的节点文档。当选中节点时,这会在信息侧边栏中显示。
  • : 外观 - 用于自定义节点外观的选项。
Subflow edit dialog - properties Subflow edit dialog - module properties Subflow edit dialog - description Subflow edit dialog - appearance

子流程编辑对话框 - 属性、模块属性、描述和外观选项卡

属性
Editing subflow properties

编辑子流程属性

Editing subflow property UI

编辑子流程属性界面

编辑对话框的"属性"选项卡可用于定义一组属性,这些属性随后可以在子流程的每个实例中进行自定义。这些属性随后会作为环境变量在子流程中公开。

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


模块属性

模块属性选项卡可用于设置关于子流程的额外元数据,包括版本、许可证和模块名称。这些信息在将子流程打包为npm模块时会被使用。

外观

外观选项卡提供以下选项:

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

删除子流程

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