@flexdash/node-red-flexdash

中文文档
0.4.154发布于 2023/02/21MIT近 30 天下载 6.1万

FlexDash 仪表板节点

中文使用文档
文档目录8 节
  1. 安装
  2. 内部
  3. 一些相关的节点-RED内部
  4. 流量
  5. 分流流量
  6. 残疾流动
  7. 脏衣服
  8. 许可证

节点-红色-弹性

用于接口的节点RED节点 弹性

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

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

帮助,请读 FlexDash 文档 检查一下 节点RED论坛。 。 。 .

安装

TL; 大卫: 您很可能不想明确安装此软件包时,你想 安装 核心部件,这将 带进这个包 和更多的,并将提供一个有用的整体.

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

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

npm i @flexdash/node-red-flexdash

您也无需安装 弹性来了 被捆绑在节点-红外线包中.

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

  • 最新dev版本:npm i @flexdash/node-red-flexdash-plugin@dev
  • 特定的dev版本:npm i@flexdash/[email protected]

内部

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

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

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

开发服务器在 flexdash-dev-server.* 是一个可以放在任何地方的节点 为 FlexDash 部件启动开发服务器 。 它运行 维特,哪个 是一个网页服务器,它一保存就自动将源代码推向网页浏览器 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
  • 面板和网格使用相同的配置节点类型,因为在下拉时,只能使用 一种类型的配置节点
  • 选项卡会隐藏对仪表板的依赖性,所以后者不属于 一个导出几个 fo 节点
  • 整个依赖性跟踪,其中部件属于面板/网格,网格属于 选项卡等是一个彻头彻尾的噩梦 因为没有任何信号显示所有东西都被装入, 这使得几乎不可能 喷出死节点. https://discour.nodered.org/t/new-editor-event-when- all-nodes-have-been-loaded/60314 互联网档案馆的存檔,存档日期2014-12-21
  • 带有 FlexDash SubFlowPanel 的子流程实例节点的编辑面板是猴子补丁的 可以在(fd container config)节点中选择网格/网格来显示节点,这是 需要,因为无法创建用于选择配置节点的嵌入变量
  • 节点编辑面板中的“ 常规” 标签被黑入( 隐藏) DOM 中, 而节点是 创造,但这样的东西 会更干净,如果做 在一滴,但这是 为时已晚, 无法得到当前值填入 .
  • 节点只能依赖配置节点,而配置节点不能发送/接收 消息(即它们不能在流中出现)指需要"flexdash ctrl"节点
  • 在节点之间(包括配置节点)进行依赖跟踪的整个概念是一团糟,更多 在流程编辑器中比运行时间,但即使在那里,当一个节点ID时,它也相当模糊 绝对是指已经不存在的东西。 而且,流编辑器跟踪 一个配置节点的"用户",信息在运行时丢失(并且必须由FD重建).

许可证

麻省理工学院

版本与发布记录

@flexdash/node-red-flexdash 共发布 158 个版本,首次发布于 2022/03/05;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.4.154latest2023/02/213 年前
0.4.1532023/02/213 年前
0.4.1522023/02/203 年前
0.4.1512023/02/203 年前
0.4.1502023/02/193 年前
0.4.1492023/02/183 年前

关于 @flexdash/node-red-flexdash 的常见问题

@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 和提交记录判断。