# @flexdash/node-red-flexdash 中文文档

规范地址：https://npmcn.com/package/%40flexdash/node-red-flexdash/

版本：0\.4\.154
npm 元数据更新时间：2023-02-20T21:36:15.948Z
中文译文更新时间：2026-11-14T22:29:45.723Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40flexdash/node-red-flexdash
原文对照：https://npmcn.com/package/%40flexdash/node-red-flexdash/?lang=original
项目主页：https://github.com/flexdash/node-red-flexdash#readme
源码仓库：https://github.com/flexdash/node-red-flexdash

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：6.2 MB，109 个文件
- TypeScript 类型：未声明
- Node.js 要求：\>=16\.0\.0
- 运行依赖：8 个
- 首次发布：2022-03-05T02:42:32.109Z
- 最新版本发布：2023-02-20T21:36:12.463Z
- 近 30 天下载量：60729（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：158（近 12 个月 0 个）

## 中文简介

FlexDash 仪表板节点

## 安装

```sh
npm install @flexdash/node-red-flexdash
```

也可以使用：`pnpm add @flexdash/node-red-flexdash`、`yarn add @flexdash/node-red-flexdash`、`bun add @flexdash/node-red-flexdash`

## README

# 节点-红色-弹性

_用于接口的节点RED节点 [弹性](https://github.com/flexdash/flexdash)_

FlexDash是一个自成一体的网络仪表板,用于Node-RED和IOT设备. 此软件包提供 [节点](https://nodered.org/) 构成一个核心的节点 FlexDash整合. 这些节点为与FlexDash通信提供了基础,但是它们没有制作 任何可用的内置部件 . 对于对应内置部件的节点RED节点 使用该 [节点- RED FD 核心部件](https://github.com/flexdash/node-red-fd-corewidgets) 软件包.

盖子下面的节点在这里使用 [袜子。 内线](http://socket.io/) 而仪表板可以使用Node-RED的网络服务器(即同端口)或不同的端口.

帮助,请读 [FlexDash 文档](https://flexdash.github.io/docs) 检查一下 [节点RED论坛](https://discourse.nodered.org/)。 。 。 .

## 安装

TL; 大卫: **您很可能不想明确安装此软件包**时,你想 安装 [核心部件](https://github.com/flexdash/node-red-fd-corewidgets),这将 带进这个包 和更多的,并将提供一个有用的整体.

`npm i @flexdash/node-red-fd-corewidgets`

如果您真的想要安装节点- red- flexdash, 例如获取特定版本 :

`npm i @flexdash/node-red-flexdash`

您也无需安装 [弹性](https://github.com/flexdash/flexdash)来了 被捆绑在节点-红外线包中.

使用"dev"标签在npm上发布预发(dev)版本:

-   最新dev版本:npm i @flexdash/node-red-flexdash-plugin@dev
-   特定的dev版本:npm i@flexdash/node-red-flexdash-plugin@0.4.47

## 内部

与FlexDash的主要接口是 `flexdash-dashboard.*`,它处理服务 FlexDash和处理到/从仪表板发送的信息. 这也暴露了一个配置节点 代表仪表板连接。 只要使用多个仪表板,就可以有多个仪表板 不同的路径或端口.

中节点-RED 插件 `flexdash-plugin/*` 管理 FlexDash 对象的等级, 例如标签、网格、面板、部件. 它是一个节点-RED插件,所以节点-红色部件节点可以调用"into FlexDash"而无需 先想出如何将一个手柄放到合适的弹性-dashboard配置节点上. 该插件在一个子目录中,并由于节点-RED中的出错而形成单独的国家预防机制包.

配置节点在 `flexdash-tab.*` 财务报告和审定财务报表 `flexdash-container.*` 表示容器,用于 仪表盘上的部件. `flexdash-container` 可代表网格或面板。 一个部件 要么属于网格,要么属于本身属于网格的面板。 一个网格属于 一个标签,每个仪表板可以有多个标签.

开发服务器在 `flexdash-dev-server.*` 是一个可以放在任何地方的节点 为 FlexDash 部件启动开发服务器 。 它运行 [维特](https://vitejs.dev/),哪个 是一个网页服务器,它一保存就自动将源代码推向网页浏览器 a 文件(热模块重装)。 要访问 Dev 服务器, 一旦启动, 指定您的浏览器 在仪表盘 URL 外加 a `-dev` 后缀,例如:. `/flexdash-dev` 改为 `/flexdash` 页:1 默认设置. (注: Dev 服务器特性最终应被移动到侧边栏. )

这个 `flexdash-in.*` 财务报告和审定财务报表 `flexdash-out.*` 目前不支持节点 . 它们发送/接收支持高级使用的FlexDash的原始消息. 然而,当前保存的仪表板配置变化并不真正支持 此类高级用法, 因此这些节点目前没有被导出 .

### 一些相关的节点-RED内部

-   流程编辑器运行在它传递到运行时间的节点配置上.
-   运行时有节点配置,但随后在节点对象上运行,即即即时 装腔作势.
-   流量配置可以在运行时使用RED.nodes来进行, 每个子流等 。 混淆的 RED. nodes. node 是只查询活动即时节点 !
-   配置中有一些节点不是即时的: 节点在已禁用流程中, 节点在 子流是两个实例.
-   一组活性/有据可查的流量不能通过(没有每个Xxx函数).
-   活动集中的节点不在配置中: 子流中的节点是 一个例子.
-   万事是节点:一流,一分流,一分流实例,一分节点,一分相接节点等.
-   特别领域:
    -   `.z` 指一个节点所在的流量, 它在全球配置节点中不存在
    -   `._alias` 运行时间在分流中的节点中找到,并提及配置(template),即 节点是从
    -   `.d` 已禁用流中的节点为真(?)
-   流出数 :
    -   子流"template"由类型=子流节点来表示.
    -   节点类型 `subflow:<subflow node id>` 为每个分流创建.
    -   分流实例节点属于该类型
    -   对于一个分流模板中的每个节点,一个新节点在部署时被即时切换,其 `._alias` 拥有 节点模板的ID.
    -   模板节点在运行时不是即时化的,而是仅作为配置,即, 没有建筑师被调用.

### 流量

本节介绍节点-RED-FlexDash如何代表仪表板,标签,.网格,部件等. 并与流,配置节点,节点等节点-RED概念相融合.

#### 剪贴板和标签配置节点

-   Dashboards和Tabs在Node-RED中以配置节点来代表.
-   仪表板 `fd_children` 是标签节点ID的列表.
-   标签中有仪表盘的配置节点ID `fd`,以及 `fd_children` 包含网格列表.
-   对于标签,生成的 FlexDash ID 是 `t` 接着是Node-RED节点ID.
-   由于黑客入侵(参见flexdash-tab.html中的代码). 节点RED不知道父母/孩子 在仪表板和制表板之间的关系,其效果是输出一组 流中的节点不导出它们所生的仪表板。 这是很好的,因为 在导入时,创建新的仪表板几乎从来不是用户想要的.

#### 网格和面板配置节点

-   两者均由"Flexdash容器"型号的节点所代表. Node-RED. 见下文 说明理由.
-   一个网格 `tab` 包含它所属的标签配置节点的ID.
-   一个小组 `parent` 包含它所属的网格配置节点的ID.
-   他们 `fd_children` 包含一个部件节点ID列表.
-   一个网格的 `fd_children` 也可能包含面板配置节点ID.
-   对于网格,生成的 FlexDash ID 是 `g` 之后是Node-RED节点ID,以及用于 前缀是 `w` (因为面板在FlexDash中确实是一种特殊的部件形式).

#### 部件和矩阵部件

-   部件节点 `fd_container` 包含其所属网格或面板的ID.
-   电网和电板都属于“Flexdash容器”类型的原因(而不是 a"flexdash网格"和"flexdash面板"是"容器"倒下时需要的 在包含网格和面板的部件中。 I.e.,不可能要求节点RED 提供有两种配置节点的下拉.
-   对于非阵列部件,生成的 FlexDash ID 是 `w` +Node-RED 节点标识
-   对于属于数组的部件,生成的 FlexDash ID 是 `w` + 节点- RED 节点ID + `|` +该 数组主题 .

#### 部件字段

-   dyn root : (中文(简体) ) `node-red/<widget-id>` fLexDash 中的主题路径,部件应该听
-   输出 : `nr/<node-id>` flexDash 中一个部件用于输出消息的主题
-   组 : `<array-node-id>` 组合数组部件,允许将其作为一个组移动

### 分流流量

节点-RED FlexDash支持一个级分流,即部件节点可以被放入分流中 分流可以被分流许多次,但不能被分流/分流 另一个子流. 此外,子流中的所有部件必须被放入子流面板,即相关 带有分流板配置节点,然后在FlexDash的面板中出现.

流出很复杂, 因为流出编辑器( 和“ 配置” 保存和通过) 进入运行时)只有子流"template"节点,然后是子流实例节点 每一个子流实例。 运行时间然后将每个子流实例扩展为完整 复制分流模板,所以创建了新的节点(每次部署时都有新的ID!)和那些 是运行时间中作为"节点"存在的,而模板节点仅作为"config"存在.

在高层次上,流编辑器中的关系如下:

-   在流程编辑器中,用户创建了子流程,并将部件放入子流程
-   用户创建分流面板并将其与分流连接(必须有一个 1-1) ,并将子流中的所有部件与该面板连接.
-   然后用户在各种流量中创建一个或多个分流实例,并分别关联 带网格的示例

最终,FlexDash等级如下:

-   每个部件属于一个分流面板
-   子流面板属于子流
-   子流被一次或多次即时化
-   每个实例属于网格
-   网格属于标签,属于仪表板

越快越好 子流的每个实例会生成一组新的部件节点和一个新的子流面板节点. 子流实例节点保持为-is,子流本身只在配置中存在.

FlexDash 部件(包括分流面板)的ID是 `w` + 节点- RED ID,这意味着 在每次节点-RED部署中,FlexDash部件都从零开始重建。 这不理想,但 备选案文将增加相当一部分的复杂性.

#### 流量

-   一个子流以 `subflow` 流程编辑器中的配置, 此配置不是即时的 作为运行时的节点.

#### 分流实例

-   子流实例配置(subflow exit config)是指它按类型即时化的子流,具体来说, 类型是 `subflow:<config id>` 其中的ID是分流配置.
-   子流实例配置 `z` 指其被放入的流量.
-   子流实例在运行时被即时化 .
-   子流实例通过一个 `flexdash_grid` env变量.

#### 分流面板

-   一个子流面板是"flexdash容器"类型的节点-RED配置节点.
-   它必须与流编辑器中的子流相连接,该子流在 `z`。 。 。 .
-   专门小组 `fd_children` 包含它包含的部件节点的ID, 但是,这些 是模板节点的ID,然后用新鲜的ID即时显示每个节点 子流程实例...

#### 分流面板实例

-   当子流被即时化时,关联子流面板也作为节点被即时化入 运行时间.
-   子流面板实例是指使用 `z` 及其模板 使用节点配置 `_alias`。 。 。 .

#### 分流部件

-   子流中的配置指使用 `fd_container` (像正则部件).
-   它作为每个子流实例的部件节点被即时化,然后引用子流 使用实例 `z`,并使用 `_alias`。 。 。 .

#### fd 容器 / fd 儿童

部件配置 `fd_container` 指向分流面板配置,而不是分流面板 实例节点. 同样,一个分流面板 `fd_children` 包含一个子流程部件配置的列表.

分流面板或分流面板实例没有 `fd_container`相反,包含 网格存在于子流程实例中 `flexdash_grid` env变量. 电网 `fd_children` 包含子流实例 ID.

## 残疾流动

当流被禁用时,节点在运行时就根本不出现. 这意味着 `fd_children` 有缺失的ID, 看上去像是被删除了.

流程编辑器中的配置需要保证“ 儿童” 中引用的所有节点 列表存在(在流程编辑器中)。 那么,在运行的时间,缺失的节点 在孩子列表中发现的是 假定为已停用,并作此标记,但未予去除.

当改变仪表盘中部件的位置时,需要保留缺失的部件. 当配置被推回流程编辑器时,缺失的部件应该重新连接 与残疾节点.

-   在孩子列表中被删除的节点只必须在流程编辑器中进行

被禁用流中的部件最终会有一个以"x"开头的ID,以向FlexDash发出信号: 这些将被跳过.

## 脏衣服

节点-红色-flexdash使用一串黑客在节点-RED中围绕问题工作. 我在这里列出他们,以防我被问到哪一个具体: --)

-   令人烦恼的节点-红外线-插座分离是必要的,因为 [https://github.com/node-red/node-red/issues/3523 互联网档案馆的存檔,存档日期2011-12-22](https://github.com/node-red/node-red/issues/3523)
-   面板和网格使用相同的配置节点类型,因为在下拉时,只能使用 一种类型的配置节点
-   选项卡会隐藏对仪表板的依赖性,所以后者不属于 一个导出几个 fo 节点
-   整个依赖性跟踪,其中部件属于面板/网格,网格属于 选项卡等是一个彻头彻尾的噩梦 因为没有任何信号显示所有东西都被装入, 这使得几乎不可能 喷出死节点. [https://discour.nodered.org/t/new-editor-event-when- all-nodes-have-been-loaded/60314 互联网档案馆的存檔,存档日期2014-12-21](https://discourse.nodered.org/t/new-editor-event-when-all-nodes-have-been-loaded/60314)
-   带有 FlexDash SubFlowPanel 的子流程实例节点的编辑面板是猴子补丁的 可以在(fd container config)节点中选择网格/网格来显示节点,这是 需要,因为无法创建用于选择配置节点的嵌入变量
-   节点编辑面板中的“ 常规” 标签被黑入( 隐藏) DOM 中, 而节点是 创造,但这样的东西 会更干净,如果做 在一滴,但这是 为时已晚, 无法得到当前值填入 .
-   节点只能依赖配置节点,而配置节点不能发送/接收 消息(即它们不能在流中出现)指需要"flexdash ctrl"节点
-   在节点之间(包括配置节点)进行依赖跟踪的整个概念是一团糟,更多 在流程编辑器中比运行时间,但即使在那里,当一个节点ID时,它也相当模糊 绝对是指已经不存在的东西。 而且,流编辑器跟踪 一个配置节点的"用户",信息在运行时丢失(并且必须由FD重建).

## 许可证

麻省理工学院

## 常见问题

### @flexdash/node-red-flexdash 是什么？

FlexDash 仪表板节点

### 如何安装 @flexdash/node-red-flexdash？

在项目目录运行 npm install @flexdash/node-red-flexdash，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 gen-widget-nodes，可以用 npx gen-widget-nodes 直接运行。

### @flexdash/node-red-flexdash 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/flexdash\_\_node-red-flexdash 是否存在。

### @flexdash/node-red-flexdash 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=16\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @flexdash/node-red-flexdash 可以商用吗？

@flexdash/node-red-flexdash 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @flexdash/node-red-flexdash 的下载量有多少？

根据 npm 官方下载统计，@flexdash/node-red-flexdash 在 2026/10/15 – 2026/11/13 这 30 天内被下载 60,729 次，日均约 2,024 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @flexdash/node-red-flexdash 还在维护吗？

最新版本 0\.4\.154 发布于 2023/02/21（3 年前）；至今共发布 158 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/03/05。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

