类型

以下类型可以与 API 方法一起使用。

传统上,流配置表示为平坦的节点对象数组。

从 Node-RED 0.13 开始,添加了一个 API,允许流(也称为选项卡)单独维护。这些 API 使用更丰富的流配置格式。我们将在未来更新主流配置以使用这种更丰富的格式,但目前这两种格式必须共存。

节点

一个节点表示流中单个节点的配置。

{
  "id": "123",
  "type": "inject",
  "x": 0,
  "y": 0,
  "z": "456",
  "wires": [ ... ]
}
字段 描述
id 节点的唯一 ID
type 节点的类型
x,y 绘制流时节点的 x/y 坐标
z 节点所属的流或子流
wires 节点输出连接到的线
* 由特定 type 定义的其他字段

如果该节点是配置节点,则不得有 xywires 属性。

子流

子流节点表示子流的配置。

{
  "id": "6115be82.9eea4",
  "type": "subflow",
  "name": "子流 1",
  "info": "",
  "in": [{
    "x": 60,
    "y": 40,
    "wires": [{
      "id": "1830cc4e.e7cf34"
    }]
  }],
  "out": [{
    "x": 320,
    "y": 40,
    "wires": [{
      "id": "1830cc4e.e7cf34",
      "port": 0
    }]
  }],
  "configs": [ ... ],
  "nodes": [ ... ]
}

完整流配置

完整流配置表示在运行时处于活动状态的整个流集。它表示为平坦的节点对象数组。这是 /flows API 使用的主要流格式,并由编辑器导入/导出。

[
  {
    "id": "1234",
    "type": "inject"
  },
  {
    "id": "5678",
    "type": "debug"
  }
]

自 0.15.0 以来,如果将 Node-RED-API-Version 请求头设置为 v2,则 /flows API 支持一种新格式。此格式提供上述节点数组,并包括流的可选修订标识符:

{
    "rev": "abc-123",
    "flows": [
      {
        "id": "1234",
        "type": "inject"
      },
      {
        "id": "5678",
        "type": "debug"
      }
    ]
}

单一流配置

单一流配置表示在编辑器中作为选项卡展示的内容。

{
  "id": "1234",
  "label": "工作表1",
  "nodes": [ ... ],
  "configs": [ ... ],
  "subflows": [ ... ]
}
字段 描述
id 流的唯一 ID
label 流的标签
nodes 流中的节点数组
configs 流中的配置数组
subflows 流中的子流数组 - 仅在表示 global 流配置时使用

节点模块

节点模块表示 npm 包提供的节点集合。

{
  "name": "node-module-name",
  "version": "0.0.6",
  "nodes": [ ... ]
}
字段 描述
name 模块的名称 - 在其 package.json 中定义
version 模块的版本 - 在其 package.json 中定义
nodes 该模块提供的节点集对象数组

节点集

节点集表示节点模块中单个文件提供的类型集合。它们对应于模块 package.json 中的 node-red.nodes 属性 中的条目。

{
  "id": "node-module-name/node-set-name",
  "name": "node-set-name",
  "types": [ ... ],
  "enabled": true,
  "module": "node-module-name",
  "version": "0.0.6"
}
字段 描述
id 集合的 ID - module/name
name 集合的名称 - 在模块的 package.json 中定义
types 该集合提供的节点类型的字符串数组
enabled 该集合当前是否启用
module 提供该集合的模块名称。值为 node-red 表示该节点是从复制的文件加载的,而不是从 npm 模块加载的。